Pengesanan Klik Tetikus Pygame
Dalam Pygame, pengesanan klik tetikus pada sprite memerlukan pemeriksaan manual semasa gelung utama. Begini cara anda boleh melaksanakan fungsi ini:
Pendekatan Gelung Utama:
Kod Contoh:
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
Nota: Pygame tidak menyediakan pengaturcaraan dipacu peristiwa untuk senario ini.
Alternatif Pendekatan:
Walaupun kurang optimum, anda juga boleh menyemak kedudukan kursor tetikus dan keadaan kekunci yang ditekan. Walau bagaimanapun, pendekatan ini memerlukan pengendalian bendera tambahan untuk mengelakkan pencetakan berterusan:
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]
Kaedah Kelas Sprite:
Anda juga boleh menentukan kaedah dalam kelas MySprite tersuai untuk semak klik tetikus:
class MySprite(Sprite): def is_clicked(self): return pygame.mouse.get_pressed()[0] and self.rect.collidepoint(pygame.mouse.get_pos())
Atas ialah kandungan terperinci Bagaimana untuk Mengesan Klik Tetikus pada Sprite dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!