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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 30.05.2011, 18:35
Termin вне форума Посмотреть профиль Отправить личное сообщение для Termin Найти все сообщения от Termin
  № 1  
Termin
 
Аватар для Termin

Регистрация: Sep 2006
Сообщений: 111
По умолчанию Детсадский пример, помогите разобраться

Помогите разобраться в логике, что тут не так? Вот прописал простейший класс с использованием ранее создонного как понятно в ниже прописанном коде. Слушает события клика мыши.

Код AS3:
public class moveBoll extends Sprite
	{
		private var boll:Boll
 
		public function moveBoll() 
		{
		    addEventListener(MouseEvent.CLICK, clickMove)
		}
		private function clickMove (e:MouseEvent):void
		{
			boll = new Boll
			boll.x = stage.mouseX
			boll.y = stage.mouseY
			stage.addChild(boll)
		}
	}
Тут кусочек кода из основного класса...
Код AS3:
private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			circle = new moveBoll
			addChild(circle)
		}
Вопрос, чего не хватает??? При компиляции, элемент при клике не добавляется на сцену, если же просто в классе moveBoll убрать слушатель событий, то прописав координаты вручную то все добавиться...

Старый 30.05.2011, 19:04
Kidd002 вне форума Посмотреть профиль Отправить личное сообщение для Kidd002 Посетить домашнюю страницу Kidd002 Найти все сообщения от Kidd002
  № 2  
Kidd002

Регистрация: Apr 2004
Адрес: Россия, Москва
Сообщений: 60
Отправить сообщение для Kidd002 с помощью ICQ
Проблема здесь:
Код AS3:
addEventListener(MouseEvent.CLICK, clickMove);
Если в moveBoll нет никакой графики, то и нажимать не на что. Но это ограничение не касается stage.
Внутри moveBoll подпишись на событие добавления на stage Event.ADDED_TO_STAGE и в обработчике пропиши
Код AS3:
stage.addEventListener(MouseEvent.CLICK, clickMove);
+Классы лучше начинать с заглавной буквы.
+В конце каждого выражения желательно добавлять точку с запятой.

Старый 30.05.2011, 19:24
Termin вне форума Посмотреть профиль Отправить личное сообщение для Termin Найти все сообщения от Termin
  № 3  
Termin
 
Аватар для Termin

Регистрация: Sep 2006
Сообщений: 111
Да, забыл сказать что когда пищу так:
Код AS3:
stage.addEventListener(MouseEvent.CLICK, clickMove);
то выдает ошибку: TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at moveBoll()
at Main/init()
at Main()

Старый 30.05.2011, 19:25
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Дожидайтесь добавления на сцену.
ЗЫ. сейчас тему прикроют за название.
__________________
тут я

Старый 30.05.2011, 19:26
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Название темы не отражает сути вопроса.
__________________
Reality.getBounds(this);

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

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

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


 


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


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