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

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

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

Регистрация: Nov 2013
Сообщений: 13
По умолчанию TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "n

Ребята, помогите, пожалуйста! В чём ошибка? Суть: на сцене несколько предметов, при нажатие на них они исчезают и счётчик уменьшается на 1. Когда исчезли все предметы, происходит переход на другую сцену. Также присутствует кнопка btnplay100, при нажатии на которую происходит переход на другой кадр. При нажатии на фон (btn1), также происходит переход на другой кадр. Почему появляется ошибка (TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null")???
Код AS3:
stop();
var clickCounter:int = 0;
var allClicks:uint=17;
 
btnplay100.addEventListener(MouseEvent.CLICK, c100_click);
function c100_click(e:MouseEvent)
{
gotoAndStop(10);
}
textField_txt.text=allClicks.toString();
 
addEventListener(MouseEvent.CLICK,stage_click);
function stage_click(e:MouseEvent):void
{
	allClicks--;
	textField_txt.text=allClicks.toString();
	if(allClicks==0)
	{
		textField_txt.text="КОНЕЦ";
		removeEventListener(MouseEvent.CLICK,stage_click);
	}
}
 
btn1.addEventListener(MouseEvent.CLICK, c_click);
function c_click(e:MouseEvent)
 
{
gotoAndStop(8);
}
 
addEventListener(MouseEvent.CLICK, s_click);
function s_click(e:MouseEvent)
{
 
e.target.visible = false;
 
e.target.removeEventListener(MouseEvent.CLICK,s_click);
 
clickCounter++;
 
if (clickCounter==17)
{
 gotoAndStop(9);
}
 
import flash.events.MouseEvent;
}

Старый 20.10.2015, 21:32
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 2  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Возможно слушатель вешается на кадре в котором кнопки на которую он вешается ещё не существует.
__________________
Я заклинаю вас действовать иначе.

Старый 21.10.2015, 20:32
Astarta вне форума Посмотреть профиль Отправить личное сообщение для Astarta Найти все сообщения от Astarta
  № 3  
Ответить с цитированием
Astarta

Регистрация: Nov 2013
Сообщений: 13
Bletraut, спасибо большое! Но я разобралась только в одном: при нажатии на кнопку btn1 (
Код AS3:
btn1.addEventListener(MouseEvent.CLICK, c_click);
function c_click(e:MouseEvent)
 
{
gotoAndStop(8);
}
) вылетает ошибка (TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at _fla::MainTimeline/stage_click()), относящаяся к этой части:

Код AS3:
addEventListener(MouseEvent.CLICK,stage_click);
function stage_click(e:MouseEvent):void
{
	allClicks--;
	textField_txt.text=allClicks.toString();
	if(allClicks==0)
	{
		textField_txt.text="КОНЕЦ";
		removeEventListener(MouseEvent.CLICK,stage_click);
	}
}
Запуталась жутко, может Вы,как опытный специалист, подскажете, что конкретно нужно исправить?

Старый 22.10.2015, 00:06
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 4  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
Совет, удалите весь код и попробуйте написать что-то более вменяемое.
По делу, я не вижу ни одного места, где вы создаёте к примеру btnplay100

Старый 22.10.2015, 21:27
Astarta вне форума Посмотреть профиль Отправить личное сообщение для Astarta Найти все сообщения от Astarta
  № 5  
Ответить с цитированием
Astarta

Регистрация: Nov 2013
Сообщений: 13
neonoviiwolf, спасибо, но переделать для меня вообще не вариант, слишком уж я чайник для этого, а сделать надо!(( А кнопки все созданы на самом кадре со свойством "кнопка", они нажимаются, но периодически путается навигация с параллельным сообщением об ошибке. Помогите тормозу!!

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

Регистрация: Jun 2014
Сообщений: 558
вообще-то, по нормальному, нужно их выводить из библиотеки. т.е. должно выглядеть так
Код AS3:
var button1: btnplay100 = new btnplay100();
button1.x = 100;
button1.y = 150;
создавать их до объявления слушателей

Старый 22.10.2015, 23:52
tattori вне форума Посмотреть профиль Отправить личное сообщение для tattori Найти все сообщения от tattori
  № 7  
Ответить с цитированием
tattori

Регистрация: Jul 2015
Сообщений: 73
я так понял после нажатия на кнопку он переходит на другой кадр, а слушатель который слушает кнопку пытается найти эту кнопку но ее в этом кадре уже нет, попробуй удалить все слушатели до перехода в следующий кадр

Добавлено через 5 минут
Код AS3:
 
btnplay100.addEventListener(MouseEvent.CLICK, c100_click);
function c100_click(e:MouseEvent)
{
btnplay100.removeEventListener(MouseEvent.CLICK, c100_click);
removeEventListener(MouseEvent.CLICK,stage_click);
btn1.removeEventListener(MouseEvent.CLICK, c_click);
removeEventListener(MouseEvent.CLICK, s_click);
gotoAndStop(10);
}
вот пример для одной кнопки, сделай так что бы до перехода все слушатели были удалены

Старый 24.10.2015, 17:49
Astarta вне форума Посмотреть профиль Отправить личное сообщение для Astarta Найти все сообщения от Astarta
  № 8  
Ответить с цитированием
Astarta

Регистрация: Nov 2013
Сообщений: 13
tattori, СПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!! Спасибо за ответ по существу!!! За понимание моего низкого уровня знаний в этой области!!! Всё заработало!!!!!

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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