我试图研究这个问题,但作为一个闪光新手,我很难通过术语......
我在BudeStrings Dev Site的着陆页上使用了Piecemaker 2滑块。滑块共包含5张幻灯片;第一个是包含多个帧的影片剪辑,以下四个是动画文本剪辑,每个剪辑仅包含一个帧。
根据我在互联网上找到的说明,我在第一个(复帧)剪辑的最后一帧之后添加了一个关键帧并添加了以下代码:
dispatchEvent(new Event(Event.COMPLETE));
stop();
停止剪辑循环并启用滑块的自动播放行为。这对于第一个(多帧)影片剪辑完全正常,但是当我尝试将相同的代码添加到其他四个(单帧)剪辑时,它没有达到预期的效果。
这四个片段使用以下代码:
var myString:String = "Sample text "
var myArray:Array = myString.split("");
addEventListener(Event.ENTER_FRAME, frameLooper);
function frameLooper(event:Event):void {
if (myArray.length > 0){
TextField.appendText(myArray.shift());
}
else {
removeEventListener(Event.ENTER_FRAME, frameLooper);
}
}
显示一些带有动画输入效果的文字。如果我添加一个带有dispatchEvent代码的关键帧,就像我在第一个剪辑上所做的那样它停止工作,当我将dispatchEvent代码附加到上面的actionscript时它没有任何效果,并且当它到达2号幻灯片时,制片人2停止自动播放。
除此之外,我不知道是什么导致了这个问题。请帮忙。问候,jan
答案 0 :(得分:0)
首先,你应该在textfield实例上使用appendText方法,而不是类本身(编译器应该给你一个错误)。因此,如果舞台上的文本字段被称为“txt”,它将变为“txt.appendText ..”。其次,您应该在else部分中定义事件调度,因为它在运行时,动画将完成。
[edit]确保在发布设置中启用严格模式