Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   управление скриптами в фреймах (http://www.flasher.ru/forum/showthread.php?t=170613)

cgggg 28.10.2011 17:33

управление скриптами в фреймах
 
Вложений: 1
есть 2 скрипта в отдельных фреймах, пустой фрейм, И скрипт управления, в принцепе все работает, но выдает ошибку
TypeError: Error #1009: Cannot access a property or method of a null object reference. at _3b_fla::snow_mc_2/snowFlakeMover()
как нармально завершать и переходить к другому фрейму?
Код AS3:

stop();
var clipArray:Array = [shine_b, snow_b, rain_b];
var destArray:Array = ["shine", "snow", "rain"];
for (var i:int = 0; i < clipArray.length; i++) {
        clipArray[i].buttonMode = true;
        clipArray[i].addEventListener(MouseEvent.CLICK, clickHandler);
}
function clickHandler(event:MouseEvent):void {
        for (var i:int = 0; i < clipArray.length; i++) {
                if (event.currentTarget == clipArray[i]) {
                        this.gotoAndStop(destArray[i]);
                }
        }
}


Genzo 28.10.2011 18:43

вы уверены что у вас есть объекты shine_b, snow_b, rain_b ?

cgggg 28.10.2011 18:58

Цитата:

Сообщение от Genzo (Сообщение 1042377)
вы уверены что у вас есть объекты shine_b, snow_b, rain_b ?

это кнопки

goodguy 28.10.2011 19:30

это именя экземпляров (instance name)? или это просто названия кнопок валяющихся где-то на сцене?

cgggg 28.10.2011 19:36

Цитата:

Сообщение от goodguy (Сообщение 1042383)
это именя экземпляров (instance name)? или это просто названия кнопок валяющихся где-то на сцене?

это кнопки управленися фреймами, в фреймах скрипты
там есть исть исходник, можно посмотреть

derhab 28.10.2011 19:39

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

cgggg 28.10.2011 19:43

а можно поподробнее как
Цитата:

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

derhab 28.10.2011 19:49

Код AS3:

addEventListener(Event.REMOVED_FROM_STAGE, onRemoved); // в функции init
 
 
function onRemoved(e:Event):void{
        removeEventListener(Event.ENTER_FRAME, snowFlakeMover);
}


goodguy 28.10.2011 19:57

Цитата:

это кнопки управленися фреймами, в фреймах скрипты
Это и так понятно, я умею читать. Мой вопрос был в другом.
Цитата:

там есть исть исходник, можно посмотреть
на моем компе не установлена flash ide

cgggg 28.10.2011 20:50

Цитата:

Сообщение от goodguy (Сообщение 1042391)
Это и так понятно, я умею читать. Мой вопрос был в другом.

на моем компе не установлена flash ide

я в терминах не очень понимаю

Код AS3:

//эту строку нужно вставить после function init():void {
addEventListener(Event.REMOVED_FROM_STAGE, onRemoved); // в функции init
 
// в а это куда?
function onRemoved(e:Event):void{
        removeEventListener(Event.ENTER_FRAME, snowFlakeMover);
}



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

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