问题描述
|
我有一个简单的动作脚本功能
var string:String = \"TEXT REMOVED\";
var myArray:Array = string.split(\"\");
addEventListener(Event.ENTER_FRAME,frameLooper);
function frameLooper(event:Event):void {
if(myArray.length > 0) {
text1.appendText(myArray.shift());
}else{
removeEventListener(Event.ENTER_FRAME,frameLooper);
}
}
我想让它在调用framelooper之后进入睡眠状态,所以它会慢一些。我该怎么办?
顺便说一句,我很新,并且在教程中找到了此代码,它是一种文本输入效果,如果有更好的方法,请告诉我。
解决方法
使用计时器:
var string:String = \"TEXT REMOVED\";
var myArray:Array = string.split(\"\");
var timer : Timer = new Timer (1000,myArray.length);
timer.addEventListener (TimerEvent.TIMER,frameLooper);
timer.start();
function frameLooper(event:Event):void {
text1.appendText(myArray.shift());
}
这将每秒执行一次frameLooper,其执行时间与数组长度完全相同。
,我并不是说这比timer方法更好,只是一个选择
var string:String = \"TEXT REMOVED\";
var myArray:Array = string.split(\"\");
addEventListener(Event.ENTER_FRAME,frameLooper);
const WAIT_TIME:int = 10;
var i:int = 0;
function frameLooper(event:Event):void {
if(myArray.length > 0) {
if(i==0){
trace(myArray.shift());
i = WAIT_TIME;
};
} else {
removeEventListener(Event.ENTER_FRAME,frameLooper);
}
i--;
}