我有一个带有基本时间线动画的 Flash CS 5.5 fla。在最后一帧我放了一个关键帧,唯一的代码是
stop();
尽管如此,这个movieclip 并没有在最后停止,而是无限循环。
影片作为 SWC 导出,然后加载到另一个 Flash 影片中。但是,这不会调用电影中的任何函数,也不会与其交互,除了嵌入它。
我已经用flashplayer的调试版本测试了这个,看看是否有任何异常,但没有出现错误。
我有一个带有基本时间线动画的 Flash CS 5.5 fla。在最后一帧我放了一个关键帧,唯一的代码是
stop();
尽管如此,这个movieclip 并没有在最后停止,而是无限循环。
影片作为 SWC 导出,然后加载到另一个 Flash 影片中。但是,这不会调用电影中的任何函数,也不会与其交互,除了嵌入它。
我已经用flashplayer的调试版本测试了这个,看看是否有任何异常,但没有出现错误。
您如何实例化 MovieClip?如果您使用的是 [Embed(src...)] 方法,我认为您的所有脚本都将被删除。与嵌入式 SWF 相同。而是将 SWC 添加到构建路径。
http://www.airtightinteractive.com/2009/06/better-flash-asset-loading-using-swcs/
package
{
import flash.display.Sprite;
import hud.HealthBar;
public class TestSWCLibrary extends Sprite
{
public function TestSWCLibrary()
{
var health : HealthBar = new HealthBar();
addChild(health);
}
}
}
stop();
是正确的;
我的猜测是您犯了一些错误,例如,您是否将 stop() 放在主时间轴上而不是在 MovieClip 上?
输出窗口显示任何编译错误?
听起来有些脚本在stop();
到达之前造成了严重破坏。Flash Player 倾向于在某些代码上静默失败,同时继续播放时间线,就好像什么都没发生一样。
调试此问题并找出错误发生在时间轴上的一种方法是向时间轴添加额外stop();
的临时命令。通过向后工作,您应该能够确定 Flash Player 在哪一帧进入“盲”模式。