[英]Timer before executing action again
在switch語句中,我有一個案例,它代表游戲中的注銷按鈕。 問題是,如果玩家反復單擊它並在其上執行c.logout()方法一次又一次導致我的游戲出現大量滯后。 我想添加一個計時器,然后播放器才能再次單擊該按鈕。 我對線程和計時器還很陌生,因此我非常感謝您的幫助。 特別是如果您能解釋的話。 非常感謝。
這是我的代碼
case 9154: // Logout Button
c.logout();
break;
賴安的解決方案
只需簡單地將布爾值保持為跟蹤狀態即可。
case 9154: // Logout Button
if (loggedIn) {
loggedIn = false;
c.logout();
}
break;
您可以保留其狀態的變量:
case 9154: // Logout Button
if (loggedIn) {
loggedIn = false;
c.logout();
}
break;
然后在他們登錄時將loginIn設置回true。
也許您不必啟動新線程,只需使用鎖來防止兩次調用注銷即可。
以下是第一個Google搜索結果之一:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.