私は最近、as3 のカスタム イベントで多くの問題を抱えています。役に立たない多くのものをグーグル検索し、このチュートリアルを使用してそれらを理解しようとしましたが、まだ混乱しています。
だから私はそれらをテストするために新しいフラッシュ fla ファイルを設定しましたが、それを理解できませんでした。ここに私が持っているものがあります:
ファイルとしてのドキュメント:
package
{
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class Custom extends MovieClip
{
var intializer:Initializer;
var added:Added;
public function Custom()
{
intializer=new Initializer();
addChild(intializer);
intializer.addEventListener(MouseEvent.CLICK, OnClicker);
addEventListener(CustomEvent.EVENT_CUSTOM, OnCatch);
}
private function OnClicker(event:MouseEvent):void
{
added=new Added();
added.x=300; added.y=300;
addChild(added);
}
private function OnCatch(event:CustomEvent):void
{
trace("hi");
removeChild(added);
}
}
}
ファイルとしてのイベント:
package
{
import flash.events.Event;
public class CustomEvent extends Event
{
public static const EVENT_CUSTOM="event1";
public function CustomEvent(type)
{
super(type, false, false);
}
}
}
およびファイルとしてのムービークリップ:
package
{
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class Added extends MovieClip
{
var addedButton:AddedButton;
public function Added()
{
addedButton=new AddedButton();
addedButton.x=30; addedButton.y=30;
addChild(addedButton);
addedButton.addEventListener(MouseEvent.CLICK, OnClickie);
}
private function OnClickie(event:MouseEvent):void
{
dispatchEvent(new CustomEvent(CustomEvent.EVENT_CUSTOM));
}
}
}
ボタンは空のクラスを使用します。これにより、次の結果が得られます: (最初のボタンの左上隅) http://www.fastswf.com/_EfGSoQ
非常に多くのコードで申し訳ありませんが、カスタム イベントには多くのコードが必要なようです。