Смена этапов при использовании addChild? - PullRequest
0 голосов
/ 07 января 2010

У меня очень странная ошибка с ActionScript 3 во Flash CS4. Я добавляю видеоклипы на сцену в цикле for, а затем перемещаю их вне поля зрения, чтобы можно было их извлекать и удалять, когда они мне нужны.

Я сузил проблему до такой степени, что я знаю, что каждый раз, когда один из фрагментов ролика добавляется на сцену с помощью addChild (), сцена сдвигается вправо на один пиксель. Я знаю, что это звучит странно, но это буквально правда ... линия 0 на оси Y смещается вправо на один пиксель каждый раз, когда добавляется фрагмент ролика. Я понятия не имею, как это могло произойти.

Вот код, который выполняет работу:

        private function setupSlides():void 
    {
        for(x = 0; x < TOTAL_SLIDES; x++)
        {
            var ClassReference:Class = getDefinitionByName("Slide" + (x+1)) as Class;
            var s:MovieClip = new ClassReference() as MovieClip;
            s.x = 9999;
            s.y = 9999;             
            addChild(s);
            slides[x] = s;
        }
    }

Есть мысли?

1 Ответ

0 голосов
/ 07 января 2010

После публикации я заметил, что не объявил переменную счетчика цикла (x). Я объявил это, и странный перевод исчез. Интересно, почему это просто не дало мне необъявленную ошибку переменной?

Вот фиксированный код:

        private function setupSlides():void 
    {
        for(var x:int = 0; x < TOTAL_SLIDES; x++)
        {
            var ClassReference:Class = getDefinitionByName("Slide" + (x+1)) as Class;
            var s:MovieClip = new ClassReference() as MovieClip;
            s.x = 9999;
            s.y = 9999;             
            addChild(s);
            slides[x] = s;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...