Apache flex 访问在另一个函数中创建的画布?

Apache flex 访问在另一个函数中创建的画布?,apache-flex,actionscript,Apache Flex,Actionscript,我在一个函数中创建了一个画布,在他的函数中我有一个CLICK eventlistener。在单击时,我想操纵画布中的内容 使用Dictionary类引用画布是否有效?您不需要字典。假设您使用如下方式添加了click listener: canvas.addEventListener(MouseEvent.CLICK, clickHandler); 您可以使用event.currentTarget属性访问clickHandler方法中的canvas private function clickH

我在一个函数中创建了一个画布,在他的函数中我有一个CLICK eventlistener。在单击时,我想操纵画布中的内容


使用Dictionary类引用画布是否有效?

您不需要字典。假设您使用如下方式添加了click listener:

canvas.addEventListener(MouseEvent.CLICK, clickHandler);
您可以使用
event.currentTarget
属性访问
clickHandler
方法中的
canvas

private function clickHandler(event:MouseEvent):void
{
  //currentTarget is typed as object - cast it to canvas
  var canvas:Canvas = Canvas(event.currentTarget);
  //now do whatever you want with canvas
  canvas.setStyle("backgroundColor", 0xffff00);
}

如果eventlistener是画布中的一个按钮怎么办?如何访问画布的子对象?在这种情况下我需要使用字典吗?@Adam你是说一个按钮,它是canvas的孩子?您可以从
事件.currentTarget
获取按钮,然后从
按钮.parent
获取画布-但是我宁愿将
画布
声明为类的实例变量,而不是为此使用字典。这就是实例变量的用途。