Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ошибка #1009 при переходе на кадр (http://www.flasher.ru/forum/showthread.php?t=208438)

infbyte 13.07.2014 17:36

Ошибка #1009 при переходе на кадр
 
в кадре 1 есть кнопка, по клику на которую должен осуществляться переход на 12 кадр.
Кнопка в виде MovieClip'a,(в ней есть некая анимация, которая меняется в зависимости от OVER и OUT) кнопка называется o1
Все замечательно работает, переходит на 12 кадр, анимация меняется, но при клике выскакивает ошибка:
Цитата:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at game_fla::MainTimeline/qwe1()
мой код 1 кадра, в которой обрабатывается кнопка:

Код AS3:

stop();
 
 
 
 
 
o1.addEventListener(MouseEvent.MOUSE_OUT, qwe1)
function qwe1(event:MouseEvent):void{ 
        o1.gotoAndPlay(1);
 
}
 
o1.addEventListener(MouseEvent.CLICK, qwe2)
function qwe2(event:MouseEvent):void{         
        gotoAndStop(12);
}
 
o1.addEventListener(MouseEvent.MOUSE_OVER, qwe3);
function qwe3(event:MouseEvent):void{ 
        o1.gotoAndPlay(2);
}

Подскажите плиз, что не так?

samana 13.07.2014 17:46

В предоставленном коде ошибки нет.

infbyte 13.07.2014 17:48

Как я понял, после клика же пропадает указатель с кнопки и почему-то снова срабатывает qwe1, но код в этой функции не может сработать, так как мы уже на 12 кадре, где пустой экран и объекта o1 не существует.
удалил o1.gotoAndPlay(1); - ошибок теперь нету , и нету обращение к не существующему объекту, думаю в этом косяк

как эту штуку побороть?

samana 13.07.2014 17:57

А, так ваша кнопка исчезает? Тогда конечно проблема в обращении к имени, которого уже там нет.
Просто замените немного, чтобы обращение в методе было привязано к объекту, а не к имени.
Код AS3:

function qwe1(event:MouseEvent):void{   
        (event.target as MovieClip).gotoAndPlay(1);
}


infbyte 13.07.2014 18:07

Заменил код на :
Код AS3:

o1.addEventListener(MouseEvent.MOUSE_OUT, qwe1)
function qwe1(event:MouseEvent):void{ 
        (event.target as MovieClip).gotoAndPlay(1);
}

ошибка:

Цитата:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at game_fla::MainTimeline/qwe1()
Ошибка появляется всегда когда отвожу курсор, ошибка появляется при клике на кнопку.
Все функционирует как раньше, но ошибка осталась, только теперь уже после каждого отвода....

infbyte 13.07.2014 18:16

Вложений: 1
можете исходник глянуть плиз?
Удалил все лишнее, там где облака-кнопки
В них косяк

samana 13.07.2014 18:27

Ох уж эти кадры....)
Замените на
Код AS3:

stop();
o1.addEventListener(MouseEvent.CLICK, qwe2)
function qwe2(event:MouseEvent):void{ 
        gotoAndStop(12);
}
 
o1.addEventListener(MouseEvent.ROLL_OVER, qwe3); // ROLL
function qwe3(event:MouseEvent):void{ 
        o1.gotoAndPlay(2);
}
 
o1.addEventListener(MouseEvent.ROLL_OUT, qwe1)// ROLL
function qwe1(event:MouseEvent):void{ 
        o1.gotoAndPlay(1);
}


infbyte 13.07.2014 18:41

Большой спасибо, очень помогли)


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

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