1

イコライザーでオーディオ ファイルを再生する必要があるサイトを構築しています。AS3についてはまだよく知らないので、これは簡単な質問かもしれません。

ここでデモンストレーションを使用したい例とここのソースファイルを見つけました

イコライザー オブジェクトをステージに追加するコード (チュートリアルから)

package {
    import flash.media.*;
    import flash.net.*;
    import flash.display.*;
    import flash.events.*;

    import com.everydayflash.equalizer.*;
    import com.everydayflash.equalizer.color.*;

    public class Main extends Sprite{
        public function Main() {
            var s:Sound = new Sound(new URLRequest("track.mp3"));
            s.play(0, 100, new SoundTransform(1, 0));

            var es:EqualizerSettings = new EqualizerSettings();
            es.numOfBars = 32;
            es.height = 64;
            es.barSize = 2;
            es.vgrid = true;
            es.hgrid = 2;
            es.colorManager = new SolidBarColor(0xffff4444);
            es.effect = EqualizerSettings.FX_REFLECTION;

            var e:Equalizer = new Equalizer();
            e.update(es);
            e.x = 100;
            e.y = 100;
            addChild(e);

            addEventListener(Event.ENTER_FRAME, e.render);
        }
    }
}

これにより、いくつかの非常に優れた効果を持つ垂直方向のイコライザーが作成されます。

ただし、水平にしたいので、「e」を90度回転させる必要があると思います。これを行う方法を知っている人はいますか?それとも、オリエンテーションは、それを作成するアクション スクリプトによってのみ決定されますか?

ご協力いただきありがとうございます。

4

2 に答える 2

4

行のすぐ下:

e.x = 100;
e.y = 100;

追加してみてください:

e.rotation = 90;

これでうまくいくと思いますが、ピボット ポイントの位置に問題が発生する可能性があります (中心を中心に 90 度回転させるか、左上を中心に回転させるか)。

于 2009-01-28T23:08:10.693 に答える
1

もう 1 つ覚えておくべきことは、DisplayObject.transform .matrix (Sprite は DisplayObject を間接的に拡張します) です。必要に応じて、マトリックス変換を使用して、より複雑な平行移動/回転/スケーリングを行うことができます。

于 2009-01-29T16:28:19.933 に答える