dispatchEvent不在制片人2中工作

时间:2012-08-19 08:05:21

标签: actionscript-3 dispatchevent

我试图研究这个问题,但作为一个闪光新手,我很难通过术语......

我在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

1 个答案:

答案 0 :(得分:0)

首先,你应该在textfield实例上使用appendText方法,而不是类本身(编译器应该给你一个错误)。因此,如果舞台上的文本字段被称为“txt”,它将变为“txt.appendText ..”。其次,您应该在else部分中定义事件调度,因为它在运行时,动画将完成。

[edit]确保在发布设置中启用严格模式 enter image description here