Как сохранить цвет видеоклипа между кадрами? - PullRequest
0 голосов
/ 23 ноября 2011

Мое приложение имеет 2 кадра;в кадре 1 есть 5 MC, а в случае DOUBLE_CLICK изменение цвета цели и переход к следующему кадру 2.
В кадре 2 у меня есть кнопка, чтобы вернуться к кадру 1.

Как можноя сохраняю цвет MC, когда возвращаюсь к кадру 1?

public class test extends MovieClip
{
    public function test()
    {
        var myMCTable:Array = [myMC1, myMC2, myMC3, myMC4, myMC5];
        for (var i:uint = 0; i < myMCTable.length; i++)
        {
            myMCTable[i].doubleClickEnabled = true;
            myMCTable[i].addEventListener(MouseEvent.DOUBLE_CLICK, changeColor);
        }
    }

    private function changeColor(e:MouseEvent) : void
    {
        var newColorTransform:ColorTransform = (e.target).transform.colorTransform;
        newColorTransform.color = Math.random() * 0xFFFFFF;
        (e.target).transform.colorTransform = newColorTransform;
        nextFrame();
        goBack_btn.addEventListener(MouseEvent.CLICK, goBack);
    }

    private function goBack(e:MouseEvent) : void
    {
        prevFrame();
    }
}

Ответы [ 2 ]

0 голосов
/ 24 ноября 2011

Если вы сделаете урок для мувиклипов (у вас есть 5, я полагаю), что они все поделятся. Создайте свойство класса с именем myColor, а затем обновляйте свойство myColor каждого отдельного объекта movieclip при каждом двойном щелчке и изменении цвета. Вы можете заставить метод goBack () повторно применять цвет каждого фрагмента ролика из его собственного свойства.

Имеет ли это смысл?

0 голосов
/ 23 ноября 2011

Самый простой способ - создать три кадра, создать свои MC на кадре 1 и переключаться между кадрами 2 и 3.

Вы также можете сохранить информацию о цвете в объекте.

_color[e.target.id] = newColorTransform.color;

А затем получить его и применить. Но опять же вам нужно будет инициализировать ваш объект данных в предыдущем, третьем кадре. Если вы этого не сделаете, он будет повторно инициализирован, и вы потеряете свои цвета.

...