AS3:如何从actionscript类调度事件

Ole*_*nko 6 apache-flex actionscript-3

我有一个小棋子应用程序,包括单元格和板.当用户将项目移动到电路板时,我希望电路板单元发送一个事件,以便电路板可以收听它并呼叫监听器

public class BoardCell extends Canvas
{
  public function Sample():void
  {
      ....Some code
      var e:Event = new Event("newMove")
  dispatchEvent(e);
  }
 }
Run Code Online (Sandbox Code Playgroud)

但是,我无法在父棋盘类中捕获事件(不确定我是否正确地听它)

    public class FrontEndBoard extends ChessBoard
{

    private var initialPoition:String;

    public function FrontEndBoard()
    {
        //TODO: implement function
        this.addEventListener(Event.ADDED_TO_STAGE, addedToStage);
        this.addEventListener("newMove", moveEvent);
        super();
    }
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 5

你有2个选择:

1)而不是this.addEventListener("newMove",moveEvent); 做BoardCell.addEventListener("newMove",moveEvent);

2)将事件buble到父级(假设BoardCell是FrontEndBoard的显示子级,您将其设置为事件构造函数中的参数)

var e:Event = new Event("newMove",true).