flash - Actionscript 3 - 完全移除一个 child

标签 flash actionscript-3 cs3

我有一个对象数组,当另一个对象击中其中一个对象时,该对象将被删除。我已经使用 removeChild() 将它从舞台上移除,并使用 splice() 从数组中移除,但不知何故该对象仍在调用它的一些函数,这导致了错误。我如何完全摆脱一个对象?也没有绑定(bind)到它的事件监听器。

最佳答案

您需要确保要删除的显示对象:

  • 舞台上没有注册的听众,例如您需要为任何相应的 stage.addEventListener(...)
  • 调用 stage.removeEventListener(...)
  • 没有 Event.ENTER_FRAME 事件的监听器
  • 不监听任何定时器的事件
  • 不会被在任何地方用 setInterval 设置的定时器调用
  • 等基本上与计时器、舞台、它的父级、加载器和时间线有关的任何事情都可能导致对象逗留而不被删除

因此,当您使用 removeChild 删除对象并将其从您保存它的数组中删除时,还要调用其 stop 方法以确保它不会播放其时间轴.在该对象上有一个名为 haltcleanupfinalize 的方法也可能是一件好事,它可以注销任何监听器、停止计时器、超时、间隔等,清除对其父级、舞台或任何不会消失的对象的引用(即将变量设置为 null)。

关于flash - Actionscript 3 - 完全移除一个 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69016/

相关文章:

c - 托管 Flash 不会加载 swf 资源(xml、图像等)

actionscript - 如何在不使用其 Streaming 服务器的情况下实现 Adob​​e HTTP Streaming 规范

Flash AS3 - 库中相同基类的对象 - 类型强制失败

apache-flex - 关于TextField中htmlText的性能问题

actionscript-3 - 为什么我无法删除该影片剪辑?

actionscript-3 - 在为大量铅笔工具绘制的图形制作动画时,如何保持高帧率?

javascript - 在 JavaScript 背景下学习 ActionScript

css - 闪存生成器 4.6 : Design view not working with flatspark theme

actionscript-3 - AS3 computeSpectrum fft true

Flash导出/发布时间