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

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

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

Регистрация: Mar 2011
Сообщений: 72
По умолчанию помогите разобраться с диспатчером

Пытаюсь написать видеоплеер, который должен генерировать события. Наследуется он от Sprite, и что бы он мог отсылать события, его, по идее(Adobe), нужно имплементировать IEventDispatcher. НО, что-то не получается у меня пока.. Вот код:

Код AS3:
package ru.a
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.IEventDispatcher;
 
 
	public class videoplayer extends Sprite implements IEventDispatcher
	{
		var disp:EventDispatcher = new EventDispatcher;
 
		public function videoplayer()
		{
			if (stage)
			{
				init();
			}
			else
			{
				addEventListener(Event.ADDED_TO_STAGE, init);
			}
		}
 
		private function init(e:Event=null):void
		{
			trace("videoplayer loaded");
		}
		public function loadvideo() {
			disp(new Event(CustomEvent));
			trace("video load start");
		}
 
	}
 
}
ошибки:

Код AS3:
videoplayer.as, Line 30	1180: Call to a possibly undefined method disp.
videoplayer.as, Line 30	1120: Access of undefined property CustomEvent.


Последний раз редактировалось teion; 13.10.2011 в 15:39.
Старый 13.10.2011, 15:39
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 2  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Sprite уже реализует интерфейс IEventDispatcher.

Добавлено через 1 минуту
Код AS3:
disp(new Event(CustomEvent));
Так не правильно. Надо:
Код AS3:
this.dispatchEvent(new CustomEvent(CustomEvent.TYPE));
__________________
http://www.chessmax.ru

Старый 13.10.2011, 18:30
teion вне форума Посмотреть профиль Отправить личное сообщение для teion Найти все сообщения от teion
  № 3  
Ответить с цитированием
teion

Регистрация: Mar 2011
Сообщений: 72
Цитата:
Сообщение от Inet_PC Посмотреть сообщение
Sprite уже реализует интерфейс IEventDispatcher.

Добавлено через 1 минуту
Код AS3:
disp(new Event(CustomEvent));
Так не правильно. Надо:
Код AS3:
this.dispatchEvent(new CustomEvent(CustomEvent.TYPE));
К сожалению, особо ничего не поменялось:

Код AS3:
videoplayer.as, Line 30	1180: Call to a possibly undefined method CustomEvent.
videoplayer.as, Line 30	1120: Access of undefined property CustomEvent.

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
А у вас есть CustomEvent?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 13.10.2011, 18:53
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 5  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
А вы подключили класс CustomEvent? и вообще вы его создали?
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

Регистрация: Mar 2011
Сообщений: 72
Цитата:
Сообщение от Genzo Посмотреть сообщение
А вы подключили класс CustomEvent? и вообще вы его создали?
все, что в начальном посте написано, это все, что пока есть

Старый 13.10.2011, 19:29
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 7  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Вы видимо просто скопировали откуда то неполный код , вам необходимо написать собственный класс CustomEvent и т.п. , если вы только обучаетесь попробуйте отлавливать собственные события без расширения класса Event. например так :
Код AS3:
videoplayer.addEventListener('myCustomEventType' , doSmth);
 
---- class videoplayer
 
this.dispatchEvent(new Event('myCustomEventType'));
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 13.10.2011, 21:06
teion вне форума Посмотреть профиль Отправить личное сообщение для teion Найти все сообщения от teion
  № 8  
Ответить с цитированием
teion

Регистрация: Mar 2011
Сообщений: 72
Цитата:
Сообщение от Genzo Посмотреть сообщение
Вы видимо просто скопировали откуда то неполный код , вам необходимо написать собственный класс CustomEvent и т.п. , если вы только обучаетесь попробуйте отлавливать собственные события без расширения класса Event. например так :
Код AS3:
videoplayer.addEventListener('myCustomEventType' , doSmth);
 
---- class videoplayer
 
this.dispatchEvent(new Event('myCustomEventType'));
не, я его сам целиком написал, просто я пытаюсь найти сконцентрированную схему, как можно выцепить событие из внешнего класса Чтоб вот в двух словах по пунктам, что для этого требуется)

Старый 13.10.2011, 21:07
Vishapakahr вне форума Посмотреть профиль Отправить личное сообщение для Vishapakahr Найти все сообщения от Vishapakahr
  № 9  
Ответить с цитированием
Vishapakahr

Регистрация: Apr 2009
Адрес: Armenia , Yerevan
Сообщений: 145
На смотри пример

Код AS3:
package com.mc.events {
	import flash.events.Event;
 
	public class PolygonEvent extends Event {
 
		public var delta:Array;
 
		public static const getArray:String = '';
 
		public function PolygonEvent(type:String, delta:Array = null) {
			super(type, false, false);
 
			this.delta = delta;
			}//end constructor
 
			override public function clone():Event
		{
			return new PolygonEvent(this.type, this.delta);
		}
 
		}
 
	}
А сейчас как используем PolygonEvent

Код AS3:
 
var someArr:Array = [0,1,2];
dispatchEvent(new PolygonEvent(PolygonEvent.getArray,someArr));
А там где будешь слушать событие , можешь получать массив через event.delta

Код AS3:
addEventlistener(PolygonEvent.getArray,PolygonEventHandler);
private function PolygonEventHandler(e:PolygonEvent):void{
trace(e.delta);
}
Ну там delta для примера массив , тут может быть что угодно

Добавлено через 34 секунды
Аналогично моего PolygonEvent можешь создать свой CustomEvent
__________________
Urartu is a neoHittite and ProtoArmenian kingdom !!

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

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

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


 


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


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