※ 引述《tatibana31 (橘三十一)》之銘言:
除了H45大大提供的方法,今早失眠時,想到的方法也有效,至少沒問題了。
(但是我的程式卻被遞迴給毀了,結果procedure()這一段重寫)
我多加了一個變數
public long previousTime;
public void procedure()
{
if(computer){
Action_A(); Action_B(); Drawing();
computer = false;
procedure();
}else if(!computer){
Action_A(); mouseControl = true;
}
}
滑鼠的程式碼為:
public void mouseClicked(mouseEvent m)
{
if(mouseControll &&
System.currentTimeMillis() - previousTime > 500){
Action_B(); Drawing(); mouseControll = false;
previousTime = System.currentTimeMillis();
computer = true;
procedure();
}
}
這樣就解了....害我想了一整晚..找了一整晚的蟲....(至少測試到現在都沒問題)
500那個數字,或許可以再低一點....
不過由於我的procedure()這一段寫成遞迴,結果導致一局結束後,下一局繼續
有問題....以前大學每次都死在遞迴程式,無意間自已寫出遞迴整死自己....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.107.41
※ 編輯: tatibana31 來自: 61.62.107.41 (01/08 20:19)
※ 編輯: tatibana31 來自: 61.62.107.41 (01/08 20:19)
※ 編輯: tatibana31 來自: 61.62.107.41 (01/08 20:21)