Поворот AS3 Динамически созданный объект - PullRequest
1 голос
/ 29 января 2009

Я создаю сайт, который требует воспроизведения аудиофайла с помощью эквалайзера. Я еще немного знаю об 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);
        }
    }
}

Это создает вертикально ориентированный эквалайзер с довольно приятными эффектами.

Однако я бы хотел, чтобы он был горизонтальным, поэтому я считаю, что мне нужно повернуть «е» на 90 градусов. Кто-нибудь из вас знает, как это сделать? Или ориентация продиктована исключительно сценарием действия, который его создает?

Спасибо за любую помощь.

Ответы [ 2 ]

4 голосов
/ 29 января 2009

Прямо под линиями:

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

Попробуйте добавить:

e.rotation = 90;

Я считаю, что это должно сработать, но вы можете столкнуться с некоторыми проблемами с расположением точки поворота (хотите ли вы, чтобы она поворачивалась на 90 градусов вокруг центра или вокруг верхнего левого угла).

1 голос
/ 29 января 2009

Следует помнить еще одну вещь: DisplayObject.transform .matrix (Sprite косвенно расширяет DisplayObject). Вы можете использовать матричные преобразования , чтобы сделать гораздо более сложный перевод / вращение / масштабирование, если вам это нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...