Actionscript 3.0侦听已分派的自定义事件

时间:2014-02-09 00:31:06

标签: actionscript-3 events

我在使用监听器捕获自定义事件时遇到了一些问题。

我有许多称为键的对象。单击每个键时,将调度自定义事件,如下所示:

public class Key extends Sprite 
{
    private var letter:String;
    public static const CLICKED:String = "clicked";

    private function keyClicked(e:MouseEvent):void {
        this.removeEventListener(MouseEvent.CLICK, keyClicked, false);
        this.mouseEnabled = false;
        dispatchEvent(new Event(CLICKED));
    }
}

所有键都是键盘对象的子键。键盘对象的父节点之一有一个像这样的事件监听器:

addEventListener(Key.CLICKED, keyboardGuess);

调用

public function keyboardGuess(e:Event):void {
        trace("event received");
        var letter:String = e.target.getLetter();
        trace(letter);
    } //there will be other functionality in here when I get it listening

然而,虽然我可以说我成功地派出了这个活动,但是我的听众从不接受它。我已经疯了一个多小时了;你能帮我弄清楚发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

自定义事件的bubbles值应该为true,因此包含Key的对象可以接收该事件。如果bubbles值为false,则只有派发事件的对象才能收到该事件,就像Key。

一样

关于bubbles

尝试

dispatchEvent(new Event(CLICKED, true));