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

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

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

Регистрация: Nov 2010
Сообщений: 24
По умолчанию перенести кнопку из модуля кадра во внешний модуль

Дорогие друзья, подскажите пожалуйста.

Есть в библиотеке символ MovieClip, в нем размещена надпись TextTool, у ней обработчик MouseEvent.CLICK в модуле кадра.
Все прекрасно работает - щелкаю по надписи выполняется функция.

Сейчас хочу перенести модуль кадра как положено во внешний файл. И вот тут вопрос - as файл я привязал правильно, конструктор трассируется при загрузке моего мувика в swf, а вот при регистрации обработчиков MouseClick выходит сообщения об ошибке.

Код AS3:
 
// было и работало
btnMenuLevel1.addEventListener(MouseEvent.CLICK, fl_LevelClickHandler);
 
	function fl_LevelClickHandler(event:MouseEvent):void
		{
			trace(event.currentTarget.name);
			//StartLevel1();
			//dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN));
		}

Код AS3:
//  стало и не работает 
package 
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.display.Sprite;
 
	public class Menu extends MovieClip
	{
 
		public function Menu()
		{
			trace("Старт менюшки");
             // здесь ругается на ошибку, поскольку btnMenuLevel1 = null
			btnMenuLevel1.addEventListener(MouseEvent.CLICK, fl_LevelClickHandler); 
		}
 
		function fl_LevelClickHandler(event:MouseEvent):void
		{
			trace(event.currentTarget.name);
			//StartLevel1();
			//dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN));
		}
	}
}
btnMenuLevel1 это имя моего ТекстТул. Отладчик показывает btnMenuLevel1 = null и соответсчтвенно ругвется когдаа к нему пытаюсь применить addEventListener

Почему так?


Последний раз редактировалось 8exe8; 19.11.2010 в 02:17.
Старый 19.11.2010, 01:52
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 2  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Вот это надо добавить:
Код AS3:
public var btnMenuLevel1:КлассОбъекта
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 19.11.2010, 02:12
8exe8 вне форума Посмотреть профиль Отправить личное сообщение для 8exe8 Найти все сообщения от 8exe8
  № 3  
Ответить с цитированием
8exe8

Регистрация: Nov 2010
Сообщений: 24
А как этот класс называется, если это обычный текст с панели инструментов со свойством "текст TLF"? StaticText и TextField не подходит.

Добавлено через 22 минуты
Код AS3:
// сделал вот так и все равно не хочет.
// надпись на сцене преобразовал в классичесикий статический текст
 
package 
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.StaticText;
 
	public class Menu extends MovieClip
	{
		public var btnMenuLevel1:StaticText; // добавил строку
		public function Menu()
		{
			trace("Старт менюшки");
			addChild(btnMenuLevel1); // добавил строку
			btnMenuLevel1.addEventListener(MouseEvent.CLICK, fl_LevelClickHandler);
		}
 
		function fl_LevelClickHandler(event:MouseEvent):void
		{
			trace(event.currentTarget.name);
			//StartLevel1();
			//dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN));
		}
	}
}


Последний раз редактировалось 8exe8; 19.11.2010 в 02:39.
Старый 19.11.2010, 11:49
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 4  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
InstaneName - имя объекта.
Допустимые классы MovieClip, Sprite, TextField (только для input и dynamic), SimpleButton, да воде и все.

ЗЫ. за компоненты не знаю, я ими не пользуюсь.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

Регистрация: Nov 2010
Сообщений: 24
InstaneName значит ...

Сегодня вопрос решился заменой TextTool на Мувик из библиотеки. Даже переменую var не просит прописывать. Странно все это. Ну ладно, пойдем таким путем. Спасибо)))

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

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

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


 


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


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