Pygame 滑鼠點擊偵測
在 Pygame 中,偵測精靈上的滑鼠點擊需要在主循環期間進行手動檢查。以下是實作此功能的方法:
主循環方法:
範例程式碼:
while ...: ev = pygame.event.get() for event in ev: if event.type == pygame.MOUSEBUTTONUP: pos = pygame.mouse.get_pos() clicked_sprites = [s for s in sprites if s.rect.collidepoint(pos)] # Perform action on clicked sprites
注意:Pygame 不為此場景提供事件驅動程式設計。
替代方案方法:
雖然不太理想,但您也可以檢查滑鼠遊標位置和按鍵狀態。但是,這種方法需要額外的標誌處理以防止連續列印:
handled = False while ...: if pygame.mouse.get_pressed()[0] and mysprite.rect.collidepoint(pygame.mouse.get_pos()) and not handled: print("You have opened a chest!") handled = pygame.mouse.get_pressed()[0]
Sprite 類別方法:
您也可以在自訂MySprite 類別中定義一個方法來檢查滑鼠點擊:
class MySprite(Sprite): def is_clicked(self): return pygame.mouse.get_pressed()[0] and self.rect.collidepoint(pygame.mouse.get_pos())
以上是如何在 Pygame 中偵測滑鼠對精靈的點擊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!