我有一个带有基本时间轴动画的Flash CS 5.5 fla。在最后一帧我放了一个关键帧,唯一的代码是
stop();
然而,这部电影剪辑并没有在最后停止,而是无限循环。
电影将导出为SWC,然后加载到另一部Flash影片中。但是除了嵌入它之外,它不会调用电影中的任何函数,也不会与它进行交互。
我已经使用flashplayer的调试版测试了这个,看是否有任何异常,但没有发生错误。
答案 0 :(得分:1)
如何实例化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);
}
}
}
答案 1 :(得分:0)
stop();
是正确的;
我的猜测是你犯了一些错误,例如,你是否已将停止()放在MAIN时间轴而不放在MovieClip上?
输出窗口显示任何编译错误?
答案 2 :(得分:0)
听起来有些脚本在达到stop();
之前造成了严重破坏。 Flash Player倾向于在某些代码上静默失败,同时继续播放时间轴,好像什么都没发生一样。
调试此方法并找出错误发生在时间轴上的位置的一种方法是在时间轴中添加其他临时stop();
命令。通过向后工作,您应该能够确定Flash Player进入“盲”模式的帧。