点击即可重启flash

时间:2012-01-08 16:13:35

标签: actionscript-3 actionscript

我正在尝试使用重启按钮重启我的闪存片。我使用gotoAndPlay(0),但没有任何反应。我确定正在调用click事件处理程序,因为我使用了trace语句来验证。

rs.addEventListener(MouseEvent.CLICK, restart);

function restart(event:MouseEvent):void {
    gotoAndPlay(0);
}

2 个答案:

答案 0 :(得分:0)

第一帧是第1帧,而不是第0帧。

不确定为什么adobe决定不让框架从零开始,但他们确实:/

答案 1 :(得分:0)

如果您已向舞台添加了对象,例如按钮或图形,但从未实际使用过舞台的时间轴,则舞台将开始并保持在第一帧。所以'gotoAndPlay'在这种情况下不会起作用。无论如何重新启动动画都是有用的,因为它不会自行重置任何代码。

您需要确定实际要重置的部分以及可以保留的部分。您可能不希望从开头加载的内存中删除资产,只是为了再次下载它们。可以保留一些对象,其他对象应该被删除。

据我所知,没有简单的方法来重置Flash应用程序,除了重新加载整个页面。以下是手动“重置”应用程序的一些常规步骤:

  1. 为初始化代码创建一个方法:
    对象创建,添加到显示列表,添加事件侦听器。
  2. 点击:从舞台中删除所有对象,删除所有事件侦听器。
  3. 再次调用初始化方法。
  4. 理想情况下,将init方法中的引用设置为新变量,以便可以对旧变量进行垃圾回收。根据代码结构,您可能必须手动将某些设置为null。确保不要再引用任何不再需要的对象。