close


在 function b 裡先判斷 this.boolean 是不是 true 再輸出 hi 就能達到你的要求。
除此之外還有一些地方,雖然目前沒有出現重大問題、但不是很恰當的寫法,
應該要避免。
1.boolean是保留字,自訂的變數名稱應該避免使用保留字。
2.function a 這段會造成 stage.addEventListener...不斷執行數百數千次以上。
再提供你另一種程式設計的邏輯:
宣告一個變數為真
當按下滑鼠後、判斷變數若為真、就輸出hi,更改變數為假、並開始計時兩秒鐘,
兩秒後再將變數設為真、停止計時器。
如此也能達到你的要求。
計時兩秒鐘的期間內、因為變數為假,所以按滑鼠不會輸出 "hi"
不需要偵聽 enterFrame、只有滑鼠按下之後才啟用計時器、時間一到就可以把計時器關了
var flag:Boolean=true;
var timer:Timer=new Timer(2000);
timer.addEventListener(TimerEvent.TIMER,timeHandler);
function timeHandler(e:TimerEvent){
timer.stop();
flag=true;
}
stage.addEventListener(MouseEvent.CLICK,handler);
function handler(e:MouseEvent){
if(flag){
trace("hi");
timer.start();
flag=false;
}
}

除此之外還有一些地方,雖然目前沒有出現重大問題、但不是很恰當的寫法,
應該要避免。
1.boolean是保留字,自訂的變數名稱應該避免使用保留字。
2.function a 這段會造成 stage.addEventListener...不斷執行數百數千次以上。
再提供你另一種程式設計的邏輯:
宣告一個變數為真
當按下滑鼠後、判斷變數若為真、就輸出hi,更改變數為假、並開始計時兩秒鐘,
兩秒後再將變數設為真、停止計時器。
如此也能達到你的要求。
計時兩秒鐘的期間內、因為變數為假,所以按滑鼠不會輸出 "hi"
不需要偵聽 enterFrame、只有滑鼠按下之後才啟用計時器、時間一到就可以把計時器關了
var flag:Boolean=true;
var timer:Timer=new Timer(2000);
timer.addEventListener(TimerEvent.TIMER,timeHandler);
function timeHandler(e:TimerEvent){
timer.stop();
flag=true;
}
stage.addEventListener(MouseEvent.CLICK,handler);
function handler(e:MouseEvent){
if(flag){
trace("hi");
timer.start();
flag=false;
}
}


全站熱搜