Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   gotoAndStop (http://www.flasher.ru/forum/showthread.php?t=105579)

K.A.T.A.F.A.L.K.E.R 18.12.2007 18:08

gotoAndStop
 
Доброго времени.
Разбираюсь помаленьку в АС3. Возник вопрос. Есть у меня мувиклип - несколько кадров. В каждом из кадров какие-нить баттоны лежат. С именами. Извне пытаюсь управлять этим клипом:
Код:

myClip.gotoAndStop(2);
на этом кадре у меня лежит, к примеру, кнопка but1. Хочу на нее какое-нить действие навесить. Как мне это сделать??? trace(myClip.getChildByName("but1")) выдает null.
И еще... Когда попытался положить на кадр текстовое поле, при попытке компиляции флеш ругался на строчки import из класса, экземпляром которого является этот самый myClip (extends MovieClip). После добавления строки import flash.text.TextField попустило. Что бы это значило? Он сам добавить импорт при компиляции не может?
Заранее спасибо и заранее прошу прощения за практически полное отсутствие тегов CODE. Так как кода в целом мало.

fljot 18.12.2007 18:52

нужно какое-то время чтоб перейти в кадр..
мне такие goto приходится например использовать в мультиязычных сайтах, где удобно в разные кадры разложить разные графические всякие дела. последний раз делал так:
Код:

myClip.addEventListener(Event.ENTER_FRAME, onMyClipInit);
myClip.gotoAndStop(lang);

function onMyClipInit(e:Event) {
    myClip.removeEventListener(Event.ENTER_FRAME, onMyClipInit);
    //далее все трубемые действия т.к. уже нужный нам кадр
}

не очень удобно конечно. кто-нибудь делает иначе?

K.A.T.A.F.A.L.K.E.R 18.12.2007 19:38

мне надо было сделать нечто вроде набора диалоговых окон. Хотел по окну на кадр и единый класс для всего этого счастья. Решения умного не нашел, пришлось делать кучу мелких окошек и каждому наследования от базового класса. Может, это и есть умное решение... Но все же... То что время нужно - это я понял. Как вариант можно было в каждый кадр кидать вызов некого метода update, описанного в данном классе.
А прикол с добавлением import flash.text.TextField вручную мне не понравился ((

etc 18.12.2007 19:53

Сам он только переменные проставляет, а вот импортировать не умеет.

Hyzhak 31.01.2008 14:02

не хочется создавать новую подобную ветку, тема как раз раскрыта, но у меня есть один вопрос.

Столкнулся с подобным случаем:
если объект уникален для каждого кадра т.е. После перехода

Код:

myClip.gotoAndStop(2);
trace(myClip.getChildByName("but1")) //выдает null И нужно ждать чтобы playhead перескочила на нужный кадр с анимацией

даже после дополнительного слушателя по Event.ENTER_FRAME или через прослушивание TimerEvent.TIMER мы не можем изменить сам этот объект раньше того, как он появится (к примеру перепрыгнуть сразу на последний кадр). т.е. если его состояние задается не в дизайне, а где то вне (отдельном классе Модели), то «but1» по-любому нам покажет первый кадр, и только потом примет нужное Модели состояние.
Может кто знает как с этим бороться, не переходя от кадровой структуры мувика к расслоенному (включение выключения состояние через visible)?

BlooDHounD 31.01.2008 15:21

никак нельзя бороться.


Часовой пояс GMT +4, время: 01:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.