2010-09-21 3 views
0

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

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

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

ответ

0

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

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

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

+0

Ну, мой проект только начался, поскольку у меня много идей, но я понял, что я был в шоке от первого препятствия, поскольку я не делаю то, что обычно делаю. Проблема в том, что мувиклипы уже находятся на стадии, и поэтому они не инициализируются правильно, но как вы думаете, я должен просто получить их расположение и динамически разместить их во внешнем классе, а затем удалить их, когда я буду менять фрейм? – Harold

+1

Я думаю, что было бы легче манипулировать ими из внешнего класса. Они не будут зависимыми от кадра, а скорее зависят от событий. Кроме того, я считаю, что лучше всего использовать свою логику в одном месте, а не во внешнем классе и Flash IDE – PatrickS

0

Ну, лучше всего поместить все символы в кадр 1 и добавить прослушиватель событий в первый кадр или добавить их в документ class. Вы можете поместить эти символы за пределы сцены, которые не должны быть видимыми на первом кадре, и вы можете привести их на сцену на определенном кадре.

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

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

Смежные вопросы