Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.07.2014, 17:36
infbyte вне форума Посмотреть профиль Отправить личное сообщение для infbyte Найти все сообщения от infbyte
  № 1  
Ответить с цитированием
infbyte

Регистрация: Jul 2013
Сообщений: 29
По умолчанию Ошибка #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);
}
Подскажите плиз, что не так?


Последний раз редактировалось infbyte; 13.07.2014 в 17:49.
Старый 13.07.2014, 17:46
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 2  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
В предоставленном коде ошибки нет.

Старый 13.07.2014, 17:48
infbyte вне форума Посмотреть профиль Отправить личное сообщение для infbyte Найти все сообщения от infbyte
  № 3  
Ответить с цитированием
infbyte

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

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

Старый 13.07.2014, 17:57
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 4  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
А, так ваша кнопка исчезает? Тогда конечно проблема в обращении к имени, которого уже там нет.
Просто замените немного, чтобы обращение в методе было привязано к объекту, а не к имени.
Код AS3:
function qwe1(event:MouseEvent):void{   
	 (event.target as MovieClip).gotoAndPlay(1);
}

Старый 13.07.2014, 18:07
infbyte вне форума Посмотреть профиль Отправить личное сообщение для infbyte Найти все сообщения от infbyte
  № 5  
Ответить с цитированием
infbyte

Регистрация: Jul 2013
Сообщений: 29
Заменил код на :
Код 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()
Ошибка появляется всегда когда отвожу курсор, ошибка появляется при клике на кнопку.
Все функционирует как раньше, но ошибка осталась, только теперь уже после каждого отвода....

Старый 13.07.2014, 18:16
infbyte вне форума Посмотреть профиль Отправить личное сообщение для infbyte Найти все сообщения от infbyte
  № 6  
Ответить с цитированием
infbyte

Регистрация: Jul 2013
Сообщений: 29
можете исходник глянуть плиз?
Удалил все лишнее, там где облака-кнопки
В них косяк
Вложения
Тип файла: zip first_game.zip (620.9 Кб, 28 просмотров)

Старый 13.07.2014, 18:27
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 7  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Ох уж эти кадры....)
Замените на
Код 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);
}

Старый 13.07.2014, 18:41
infbyte вне форума Посмотреть профиль Отправить личное сообщение для infbyte Найти все сообщения от infbyte
  № 8  
Ответить с цитированием
infbyte

Регистрация: Jul 2013
Сообщений: 29
Большой спасибо, очень помогли)


Последний раз редактировалось infbyte; 15.07.2014 в 00:16.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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