我在Flash中放置了一个小程序,它有一些用户可以放置在画布上的小窗口。我想在它们上面有一些“关闭”按钮,但是所说的按钮将是窗口实例的子项并且有它们自己的类。由于AS 3没有全局变量,有人知道我能做到吗?调用“parent.parent.parent.deleteWindow()”似乎没有工作。高级解释确定;如果有人想查看具体信息,我可以发布代码(就像四个类)。有没有人知道如何从AS 3中的一个子项中删除一个父实例?
0
A
回答
1
你会希望你的Button类是'EventDispatcher'。点击按钮后,您可以发送'closeEvent'并在窗口中监听事件。这将允许您的窗口执行关闭和删除自身的必要逻辑。
如果你想要你的主要画布管理窗口,你可以让你的画布监听窗口上的事件。如果事件在按钮上触发,它应该会冒泡到您的窗口UIComponent,并且Canvas可以删除任何分派'closeEvent'的窗口。
如果你提供代码示例,我可以给你一个更具体的例子。
1
为按钮添加上单击事件侦听器,然后它的功能可以是这样的
function onClick($e:MouseEvent):void{
var parentMC:MovieClip = e.target.parent;
}
这是一个有点野蛮做法,虽然,你应该考虑创建一个更安全做法。 使用事件listenting /分派或更好,但signals,OOP,MVC的Robotlegs等
好运
不,我想你已经把我在正确的道路上!谢谢! – StormShadow 2011-02-01 02:54:00