![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
|
Здравствуйте.
При компиляции выдается ошибка что ссылка на btn_home (клип на втором кадре) null. Что нужно сделать, чтобы можно было переходить по кадрам туда-обратно? Ну или как сделать, чтобы из всех кадров в главном классе были видны кнопки?... package { import flash.display.*; import flash.events.*; public class MainClass extends MovieClip { public function MainClass() { stop(); btn_go1.addEventListener(MouseEvent.CLICK, goto2); btn_home.addEventListener(MouseEvent.CLICK, goHome); } public function goto2(e:MouseEvent):void { gotoAndStop(2); } public function goHome (e:MouseEvent):void { gotoAndStop(1); } } } |
|
|||||
|
Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
|
Т.е. классу MainClass будут видны кнопки расположенные только на первом кадре?
|
|
|||||
|
Banned
|
- В первом кадре, классу MainClass, будут видны кнопки из первого кадра.
- Во втором кадре, классу MainClass, будут видны кнопки из второго кадра. - Если кнопка лежит в первом кадре и продолжается до второго (например), то классу MainClass, её будет видно в обоих кадрах. |
|
|||||
|
Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
|
Получается я должен вешать слушателей для кнопок второго кадра, когда нахожусь во втором кадре?
Если да, то каким образом это сделать в классах? (при написании кода на таймлайне с этим не было проблем). Объясните, пожалуйста. |
|
|||||
|
Banned
|
Вариант 1:
private function registerListeners ():void { if (currentFrame == 2) (button as MovieClip).addEventListener(MouseEvent.CLICK, onClick); // здесь нужно быть уверенным, что button существует } Последний раз редактировалось toFL; 04.08.2011 в 19:58. |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Не использовать второй кадр вообще.
|
|
|||||
|
Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
|
Я начал заниматься приложением и посчитал, что лепить все в 1 кадре будет не совсем удобно.
Просто ни разу не видел архитектуру flash-приложений (более-менее больших). Вот, хотелось бы узнать, каким образом идет работа там. Все в 1 кадре? (ну с прелоадером 2). Не могли бы просвятить меня? ![]() Получается если все в 1 кадре, все данные складываются в контейнеры и далее нужно прятать/показывать контейнер? Добавлено через 49 секунд toFl, спасибо за код |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Цитата:
Более того, в нормальных редакторах кода(FlashDevelop) по умолчанию основной класс унаследован от Sprite, а не от MovieClip как у вас сейчас, и там вообще нет кадров. |
|
|||||
|
Регистрация: Aug 2011
Адрес: Урал
Сообщений: 43
|
Скажите пожалуйста, а что предпочтительнее: скрывать/показывать(visible) или добавлять/удалять(addChild/removeChild) ?
Были мысли попробовать писать во FlashDevelop, но сомневался вообще в его необходимости. Стоит попробовать? И получается при работе с контейнерами (без кадров) нужно работать со Sprite, а про MovieClip можно забыть? ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|