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

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

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

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
По умолчанию Небольшой вопрос по событиям

Хотелось бы узнать для чего надо вызывать родительскую версию конструктора класса Event:
Код AS3:
super(type, bubbles, cancelable);
без данной строчки выдает:
Цитата:
Не удалось найти конструктор по умолчанию в базовом классе flash.events:Event.
вот пример:
Код AS3:
package 
{
	import flash.events.Event;
 
	public class StartEvent extends Event
	{
		public static const START:String = "start";
 
		public function StartEvent(type:String, bubbles:Boolean, cancelable:Boolean)
		{
			super(type, bubbles, cancelable);
		}
		public override function clone():Event
		{
			return new StartEvent(type, bubbles, cancelable);
		}
	}
}
Можете объяснить для чего это надо ?

Добавлено через 1 минуту
Для примера диспачил так:
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import StartEvent
 
	public class Main extends Sprite
	{
		public function Main ()
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		public function init (e:Event = null):void
		{
			removeEventListener(Event.ADDED_TO_STAGE , init);
			this.addEventListener(StartEvent.START, on_start)
 
			dispatchEvent(new StartEvent(StartEvent.START , true , false))
		}
		public function on_start (e:StartEvent):void
		{
			trace("ok")
		}
	}
}

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

Регистрация: Apr 2009
Сообщений: 409
ну потому что у родительского класса, как и у любой фнкции есть обяз. параметры, которые наследник должен передать

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

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
А разве оно не автоматически вызывается (super()) ?
и да все таки явно вызывать надо, потому-что по умолчание параметр bubbles:Boolean = false


Добавлено через 4 минуты
Ну все равно у меня ни чего не прояснилась

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Вызов родительского конструктора должен быть полюбому. Если ты его не вызываешь сам, компилятор дописывает super() за тебя автоматически. Так-как тут конструктор Event имеет один обязательный параметр (type), то вызов должен быть явным, с передачей параметра.
__________________
Дети не должны знать о своих родителях

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

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
Tails, и в правду ), я и не заметил это, спасибо.

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

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

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


 


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


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