子クラスから送出されたイベントのリスニングに問題がありますが、その理由はわかりません。eventListenerでのFlash AS3の問題
私はクラスに持っている: クラス1、魔女は、四角形を描画し、カスタムイベント
パッケージ { 輸入は、flash.displayを送出します。 ; import flash.events。; import flash.text。*;
public class clase1 extends Sprite
{
private var labelField:TextField;
public function clase1(label:String = "buttono") {
// draw the background for the button.
graphics.beginFill(0x3366CC);
graphics.drawRect(0, 0, 100, 30);
// store the label as the button’s name.
name=label;
// create a TextField to display the button label.
labelField = new TextField();
// ensure clicks are sent from labelField rather than the button.
labelField.mouseEnabled=false;
labelField.selectable=false;
labelField.text=label;
labelField.x=10;
labelField.y=10;
labelField.width=80;
labelField.height=20;
addChild(labelField);
dispatchEvent(new Event("Hello",true));
}
}
}
クラス2は、魔女は、別の矩形を描画し、イベント
パッケージ{ インポートは、flash.displayを聴取します。 ; import flash.events。; import flash.text。*;
public class clase2 extends Sprite {
private var labelField:TextField;
public function clase2(label:String = "buttono") {
// draw the background for the button.
graphics.beginFill(0xFFFCCC);
graphics.drawRect(200, 0, 100, 30);
// store the label as the button’s name.
name=label;
// create a TextField to display the button label.
labelField = new TextField();
// ensure clicks are sent from labelField rather than the button.
labelField.mouseEnabled=false;
labelField.selectable=false;
labelField.text=label;
labelField.x=210;
labelField.y=10;
labelField.width=80;
labelField.height=20;
addChild(labelField);
addEventListener("Hello",eventHandler,true);
}
function eventHandler(event: Event)
{
trace("event received ");
}
}
}
及びIは
インポートclase1を有するFLAに、
var c1:clase1 = new clase1();
import clase2;
var c2:clase2 = new clase2();
addChild(c2);
c2.addChild(c1);
c1のc2の親を作成しますが、メッセージは表示されません。なぜですか? C1はC2が今まで作成し、イベントリスナーを追加する前に、それのコンストラクタからイベントを発生しようとしているよう
ありがとう
ありがとうございます!!!!!!本当に、私は終日このことに苦労しています –