Flash-ENTER_FRAME,Timer,setInterval,setTimeout AND frameRate
ENTER_FRAME璺熷抚棰戠洿鎺ョ浉鍏筹紝鑰孴imer鍜宻etInterval,setTimeout鍒欏拰甯ч瀹屽叏鏈ㄦ湁鍏崇郴銆
淇锛氬垰鐪嬩簡涓婩1鍏充簬Timer绫荤殑閮ㄥ垎锛
鍖 flash.utils
绫 public class Timer
缁ф壙 Timer EventDispatcher Object
璇█鐗堟湰 : ActionScript 3.0
Player 鐗堟湰 : Flash Player 9
Timer 绫绘槸 Flash Player 璁℃椂鍣ㄧ殑鎺ュ彛銆 鍙互鍒涘缓鏂扮殑 Timer 瀵硅薄锛屼互渚挎寜鎸囧畾鐨勬椂闂撮『搴忚繍琛屼唬鐮併 浣跨敤 start() 鏂规硶鏉ュ惎鍔ㄨ鏃跺櫒銆 涓 timer 浜嬩欢娣诲姞浜嬩欢渚﹀惉鍣紝浠ヤ究灏嗕唬鐮佽缃负鎸夎鏃跺櫒闂撮殧杩愯銆
鍙互鍒涘缓 Timer 瀵硅薄浠ヨ繍琛屼竴娆℃垨鎸夋寚瀹氶棿闅旈噸澶嶈繍琛岋紝浠庤屾寜璁″垝鎵ц浠g爜銆 鍙栧喅浜 SWF 鏂囦欢鐨勫抚棰戞垨 Flash Player 鐨勭幆澧冿紙鍙敤鍐呭瓨鍙婂叾瀹冨洜绱狅級锛孎lash Player 浼氳兘浼氭寜绋嶆湁鍋忓樊鐨勯棿闅旇皟搴︿簨浠躲 渚嬪锛屽鏋滄煇涓 SWF 鏂囦欢璁剧疆涓轰互姣忕 10 甯 [fps]锛堜篃灏辨槸 100 姣鐨勯棿闅旓級鐨勯熷害鎾斁锛屼絾璁℃椂鍣ㄨ缃负鍦 80 姣鏃惰Е鍙戜簨浠讹紝鍒 Flash Player 灏嗘寜鎺ヨ繎浜 100 姣鐨勯棿闅旇Е鍙戜簨浠躲 澶ч噺鑰楄垂鍐呭瓨鐨勮剼鏈篃鍙兘浣夸簨浠跺彂鐢熷亸宸
SO锛孴ime鍜屽抚棰戞槸鏈夊叧绯荤殑锝
鍙﹀锛孎lash CS3甯姪鏂囨。涓帹鑽愪娇鐢═imer鑰屼笉瑕佸啀浣跨敤setInterval,setTimeout锛宻etInterval鍙互鐢═imer鐩存帴浠f浛锛岃宻etTimeout鍙互鐢═imer(xxx,1)浠f浛銆
鐢ㄤ簬娴嬭瘯鐨勪唬鐮佸涓嬶紝PS锛欶lash甯ч璁剧疆涓1銆
//ENTER_FRAME 姣忕杈撳嚭涓涓猠nterframe
btn_e.addEventListener (MouseEvent.CLICK,showEnterframe);
function showEnterframe (_vet:MouseEvent) {
stage.addEventListener (Event.ENTER_FRAME,enterframe);
function enterframe (_evt:Event) {
trace ("enterframe");
}
}
//Timer 姣10姣杈撳嚭涓涓猼imer
btn_t.addEventListener (MouseEvent.CLICK,showTimer);
function showTimer (_vet:MouseEvent) {
var t:Timer=new Timer(10);
t.addEventListener (TimerEvent.TIMER,timer);
t.start ();
function timer (_evt:TimerEvent) {
trace ("timer");
}
}
//setInterval
btn_i.addEventListener (MouseEvent.CLICK,showInterval);
function showInterval (_vet:MouseEvent) {
var i=setInterval(showI,1000);
function showI () {
trace ("setInterval");
}
}
Flash閲屽抚棰戠殑鏋侀檺鏄0.01-120锛屽鏋滆缃秴杩囦簡锛孎lash Player灏嗕娇鐢ㄥ畠鑳借揪鍒扮殑鏈澶у抚棰戞垨鑰呮渶灏忓抚棰戣繍琛屻
Flash涓棤娉曡揪鍒板緢绮剧‘鐨勬椂闂达紝鍥犱负杩欒窡杩愯Flash鐨勭‖浠舵湁寰堝ぇ鐨勫叧绯汇
AS2-setInterval and setTimeout
鏉ヨ嚜Flash8鐨勫府鍔╂枃妗o細
setInterval(functionReference:Function, interval:Number, [param1:Object, param2, ..., paramN]) : Number
setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number
鐢ㄦ硶绀轰緥锛
class CustomClass {
private var intervalId:Number;
private var count:Number = 0;
private var maxCount:Number = 10;
private var duration:Number = 20;
public function CustomClass():Void {
beginInterval();
}
private function beginInterval():Void {
if(intervalId != null) {
trace("clearInterval");
clearInterval(intervalId);
}
intervalId = setInterval(this, "executeCallback", duration);
}
public function executeCallback():Void {
trace("executeCallback intervalId: " + intervalId + " count: " + count);
if(count >= maxCount) {
clearInterval(intervalId);
}
count++;
}
}
鍦ㄦ柊鏂囨。涓紝瀹炰緥鍖栨柊绫荤殑涓涓柊瀹炰緥锛
var custom:CustomClass = new CustomClass();
setTimeout鐨勭敤娉曞拰setInterval涓鏍凤紝鍙笉杩囧彧鎵ц涓娆★紝鍙︼紝Flash8甯姪鏂囨。涓苟鏈彁鍙妔etTimeout鍑芥暟鈥︹