Использование внешнего класса с несколькими кадрами на временной шкале и несколькими размещенными кнопками - PullRequest
0 голосов
/ 21 сентября 2010

У меня проблема при создании приложений флэш-памяти с несколькими кадрами, на которых размещены символы: я не могу объявить все прослушиватели событий для объектов одновременно, и я обнаружил, что даже если положить все они в первом кадре, добавьте прослушиватели событий, затем перейдите к следующему кадру, тогда кнопки на этом кадре работать не будут.

Кто-нибудь знает, как я мог решить это? Я считал себя достаточно компетентным программистом для AS3, пока не понял, что понятия не имею, как справиться с подобными вещами

Решено: я инициализировал клипы из моего внешнего класса, затем добавил addChild'd и removeChild'd их, как мне было нужно, и поместил их x и y в addChilding. Спасибо, ребята

Ответы [ 2 ]

0 голосов
/ 22 сентября 2010

Что ж, лучший подход - поместить все символы в первый кадр и добавить прослушиватель событий в первый кадр или добавить их в класс документа. Вы можете поместить те символы вне сцены, которые не обязательно должны быть видны в первом кадре, может принести их на сцену на конкретном кадре.

Слушатели будут прикреплены к символам, если они находятся в первом кадре, в противном случае вам придется прикрепить их к тому кадру, где они определены и используются. И как только слушатели присоединяются к кнопкам или любым объектам DisplayObject, тогда это не имеет значения, смена кадров или нет. Может быть, ваши кнопки изменились во время покадровой анимации ..

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

0 голосов
/ 21 сентября 2010

При работе как с Flash, так и с внешней IDE, такой как FlashBuilder, я стараюсь размещать как можно меньше кода во Flash и обрабатывать большую часть логики в FlashBuilder. Поскольку вы ссылаетесь на внешний класс, я предполагаю, что у вас может быть аналогичная настройка, тогда как некоторая часть кодирования выполняется вне Flash IDE.

Я не знаю ваш проект, поэтому он может оказаться невозможным или может быть немного поздно, чтобы вывести весь ваш код на экраны, но это был бы мой первый вариант. Мне легче отслеживать слушателей событий, сработавшие функции, количество детей на сцене, кто что делает, когда и т. Д ...

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

...