ボタンクリック後のある時点でマウスをブロックしようとしているので、関数を作成しました:
import pygame
import game_cache
import time
def set_mouse_blocked(boolean, timer=False):
if boolean:
game_cache.is_mouse_active = False
if timer:
...
else:
game_cache.is_mouse_active = True
サイクルなしでこの機能を完了する方法は?
PSこの関数はサイクルで呼び出されるため、サイクルを使用する機会はありません
メインループ関数があると仮定すると、マウスがブロックされた瞬間のタイムスタンプを作成し、そのタイムスタンプが過去にどれだけ離れているかを確認できます。
import time
def init():
game_cache.is_mouse_active = True
game_cache.last_blocked = 0
game_cache.mouse_block_timer = 0
def set_mouse_blocked(timeout = 0):
game_cache.is_mouse_active = False
game_cache.last_blocked = time.time()
game_cache.mouse_block_timer = timeout
def main_loop():
if game_cache.mouse_block_timer:
if time.time() - game_cache.last_blocked > game_cache.mouse_block_timer:
game_cache.is_mouse_active = True
game_cache.mouse_block_timer = 0
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加