|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Mar 2007
Адрес: Ужгород (UA)
Сообщений: 62
|
Как програмно остановить мувик в мувике на втором кадре и далее?
Приветствую!
На сцене есть мувик mc, в мувике mc в каждом кадре (всего 5) есть еще по одному мувику соответственно: в первом кадре symbol1 , во втором - symbol2 и т.д до пятого кадра в котором symbol5. Нужно програмно остановить все мувики находящиеся в мувике mc на разных кадрах, т.е. эти: symbol1,2,3,4 и 5. Остановить symbol1 получается, но когда останавливать уже symbol2 и следующие, то выводит ошибку, вот смотрите код Example.as: package { import flash.display.MovieClip; public class Example extends MovieClip { private var quantity:uint = 5; public function Example() { for (var i:uint = 1; i <= quantity; i++) { var mc:Mc = new Mc(); mc.gotoAndStop(i); //Если останавливать только symbol1 что в первом кадре мувика mc, то все работает if(i==1) { mc.symbol1.stop(); } //Если так же останавливать осальные symbol2,3,4 и 5 то уже происходит ошибка: //TypeError: Error #1009: Cannot access a property or method of a null object reference. at Example$iinit() //Если раскоментировать, то увидите сами: /*if(i==2) { mc.symbol2.stop(); } if(i==3) { mc.symbol3.stop(); } if(i==4) { mc.symbol4.stop(); } if(i==5) { mc.symbol5.stop(); }*/ mc.x = 100 * i; mc.y = 200; addChild(mc); } } } } Спасибо! Последний раз редактировалось N1ka; 23.11.2008 в 13:12. |
|
|||||
Написать Event.ENTER_FRAME для этого мувика, и остановить при событии
Добавлено через 54 секунды Ошибки можно обходить, устанавливая свой код в блоки "try...catch" |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
addFrameScript.
|
|
|||||
Я чето туплю. Зачем пытаться остановить мувики, которых не существует?
Мувики типа symbol2,3,4,5 становятся доступными(создаются) только при переходе на соответствующий кадр. Нужно ловиьт переход на кадр и останавливать мувик. Цитата:
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Не будут его никуда убирать.
|
|
|||||
Спасибо
|
|
|||||
Регистрация: Mar 2007
Адрес: Ужгород (UA)
Сообщений: 62
|
Цитата:
Попробовал, ошибок не показывает, но stop() срабатывает только на последнем кадре мувика mc, вот измененный код Example.as: package { import flash.display.MovieClip; public class Example extends MovieClip { private var quantity:uint = 5; public function Example() { for (var i:uint = 1; i <= quantity; i++) { var mc:Mc = new Mc(); mc.symbol1.stop();//Cрабатывает stop() mc.addFrameScript(1, stopSymbol2); mc.addFrameScript(2, stopSymbol3); mc.addFrameScript(3, stopSymbol4); mc.addFrameScript(4, stopSymbol5); function stopSymbol2() { trace(mc.symbol2);//Срабатывает и выводит [object MovieClip] mc.symbol2.stop();//Не срабавтывает stop() } function stopSymbol3() { mc.symbol3.stop();//Не срабавтывает stop() } function stopSymbol4() { mc.symbol4.stop();//Не срабавтывает stop() } function stopSymbol5() { mc.symbol5.stop();//Cрабавтывает stop() } mc.gotoAndStop(i); //Если останавливать только symbol1 что в первом кадре мувика mc, то все работает /*if(i==1) { mc.symbol1.stop(); }*/ //Если так же останавливать осальные symbol2,3,4 и 5 то уже происходит ошибка: //TypeError: Error #1009: Cannot access a property or method of a null object reference. at Example$iinit() //Если раскоментировать, то увидите сами: /*if(i==2) { mc.symbol2.stop(); } if(i==3) { mc.symbol3.stop(); } if(i==4) { mc.symbol4.stop(); } if(i==5) { mc.symbol5.stop(); }*/ mc.x = 100 * i; mc.y = 200; addChild(mc); } } } } Спасибо. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Меня очень смущает тот факт, что вы 5 раз копируете 4 функции, в которых используете обращение к последнему созданному Mc.
|
|
|||||
Человек и Здание
|
__etc
Слушай, а нельзя ли инфу по addFrameScript внести в фак и давать ссылку на него, т.к. функция недокументирована в cs3.
__________________
Регардсы. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Да я где-то видел даже описание здесь.
|
Часовой пояс GMT +4, время: 06:25. |
|
« Предыдущая тема | Следующая тема » |
|
|