我创建了一个有120帧的动画片段。
现在我在舞台上使用了这个动画片段的多个实例。
我希望每个动画片段在到达特定帧时停止。 (所有实例的帧号都不同)
我尝试了以下代码
if (char_1.currentFrame == 36) {char_1.stop();}
但它不起作用。我试图追踪当前帧,它总是显示1。
trace(char_1.currentFrame);
有任何解决方案吗?
答案 0 :(得分:0)
尝试这样的事情:
// root
var allMCs:Dictionary = new Dictionary();
allMCs[char_1] = 32; // frame on which to stop char_1
allMCs[char_2] = 12; // frame on which to stop char_2
allMCs[char_3] = 47; // frame on which to stop char_3
// ... add more
// add ENTER_FRAME listener
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(evt:Event):void
{
// loop through all MCs and check their frame
for (var mc:MovieClip in allMCs)
{
trace(mc + " frame: " + mc.currentFrame);
if (mc.currentFrame == allMCs[mc])
{
mc.stop();
}
}
}
如果跟踪仍然表明currentFrame
为1,请务必在您使用的每个MC中执行play();
。