Actionscript 3 单击后重新启动flash

Actionscript 3 单击后重新启动flash,actionscript-3,actionscript,Actionscript 3,Actionscript,我正试图用重启按钮重启我的flash。我使用gotoAndPlay(0),但什么也没发生。我确信正在调用click事件处理程序,因为我使用了跟踪语句进行验证 rs.addEventListener(MouseEvent.CLICK, restart); function restart(event:MouseEvent):void { gotoAndPlay(0); } 第一帧是第1帧,而不是第0帧 不清楚adobe为什么决定不将帧设为零,但他们确实做到了://如果您向舞台添加了对象

我正试图用重启按钮重启我的flash。我使用gotoAndPlay(0),但什么也没发生。我确信正在调用click事件处理程序,因为我使用了跟踪语句进行验证

rs.addEventListener(MouseEvent.CLICK, restart);

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

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


不清楚adobe为什么决定不将帧设为零,但他们确实做到了://

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

您需要决定实际要重置的部件以及可以保留的部件。您可能不想从刚开始加载的内存中删除资产,只是为了再次下载它们。有些物品可能会被保留,其他的应该被移除

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

  • 为初始化代码创建一个方法:
    对象创建、添加到显示列表、添加事件侦听器
  • 单击:从后台删除所有对象,删除其所有事件侦听器
  • 再次调用初始化方法

  • 理想情况下,您可以将init方法中的引用设置为新变量,以便旧变量可以被垃圾收集。根据代码结构,您可能必须手动将某些设置为null。确保不再保留对不再需要的对象的任何引用。

    它是什么类型的应用程序,代码放在哪里?听起来它可能是从某部电影里而不是从舞台上叫出来的。或者阶段已经在第一帧了(这是一般情况,除非你在时间轴上做动画或编码),这是法语代词算法。它就像一棵树。我认为这一阶段已经进入了第一个框架。其他评论中提出的问题也非常有效。重启方法放在哪里?你是在1以外的帧上吗?进入第1帧是否会重新启动闪存?