![]() |
|
||||||||||
|
|||||
|
Пишу кастомный евент, вот он:
package {
import flash.events.Event;
public class EditEvent extends Event {
public var content:String;
public function EditEvent(type:String, content:String) {
super(type);
this.content = content;
}
public override function clone():Event {
return new EditEvent(type, content);
}
}
}
Объявляю обработчик события в основной программе: Но евент не ловится ..P/S/ Если делать событие в основной программе, то всё работает как часы. Последний раз редактировалось BeDLiNt; 20.03.2008 в 19:47. |
|
|||||
|
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
Что у меня не получается.
Делаю так: mxml: <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import MainApp;
private function init():void{
var m:MainApp = new MainApp();
}
]]>
</mx:Script>
</mx:Application>
package{
import Reciever;
import Sender;
public class MainApp{
public function MainApp(){
var r:Reciever = new Reciever();
var s:Sender = new Sender();
}
}
}
package{
import EventText;
import flash.display.Sprite;
public class Sender extends Sprite{
public function Sender(){
this.dispatchEvent(new EventText("EditEvent", "PREVED"));
}
}
}
package{
import flash.display.Sprite;
import mx.controls.Alert;
public class Reciever extends Sprite{
public function Reciever(){
this.addEventListener( "EditEvent", updateListener );
}
public function updateListener( e:EventText ):void{
Alert.show(e.toString());
}
}
}
Что тут не так?
__________________
john Последний раз редактировалось Molecula; 14.05.2008 в 20:09. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
Пока что решил проблему так:
Я подписываю экземпляр класса на прослушку, который диспатчит событие (s= Sender) и указываю функцию-листенер, как функцию другого экземпляра класса (r = Reciever). Но не пойму правильно ли так?
__________________
john |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|