2011-02-01 72 views
0

我在Flash中放置了一个小程序,它有一些用户可以放置在画布上的小窗口。我想在它们上面有一些“关闭”按钮,但是所说的按钮将是窗口实例的子项并且有它们自己的类。由于AS 3没有全局变量,有人知道我能做到吗?调用“parent.parent.parent.deleteWindow()”似乎没有工作。高级解释确定;如果有人想查看具体信息,我可以发布代码(就像四个类)。有没有人知道如何从AS 3中的一个子项中删除一个父实例?

回答

1

你会希望你的Button类是'EventDispatcher'。点击按钮后,您可以发送'closeEvent'并在窗口中监听事件。这将允许您的窗口执行关闭和删除自身的必要逻辑。

如果你想要你的主要画布管理窗口,你可以让你的画布监听窗口上的事件。如果事件在按钮上触发,它应该会冒泡到您的窗口UIComponent,并且Canvas可以删除任何分派'closeEvent'的窗口。

如果你提供代码示例,我可以给你一个更具体的例子。

+0

不,我想你已经把我在正确的道路上!谢谢! – StormShadow 2011-02-01 02:54:00

1

为按钮添加上单击事件侦听器,然后它的功能可以是这样的

function onClick($e:MouseEvent):void{ 
    var parentMC:MovieClip = e.target.parent; 
} 

这是一个有点野蛮做法,虽然,你应该考虑创建一个更安全做法。 使用事件listenting /分派或更好,但signals,OOP,MVC的Robotlegs等

好运