สร้างเกมด้วย Pygame Zero : Hit detection

Python สอนสร้างเกมด้วย pygame zero

การตรวจสอบการชนกันของเมาส์และตำแหน่งของตัวละคร(Sprite)

ในตัวอย่างนี้ เป็นการตรวจับการชนกันระหว่างเมาส์และตัวละครในตำแหน่งที่กำหนด เมาส์คลิกที่ตำแหน่งตรงกันกับที่กำหนดไว้
รูปตัวละครจะเปลี่ยนไปเป็นอีกรูป คลิกแล้วสัปเปลี่ยนเป็นอีกรูป

# exercise 6  
# Pygame Zero Basic : Basic collision detection between mouse coordinates and images

import pgzrun
 
# กำหนดขนาด window
WIDTH = 500
HEIGHT = 500
TITLE = "Pygame Zero: Basic collision detection"

# สไปร์ทตัวละคร
player = Actor("alien_pink")  # ไฟล์รูป sprite red.png ไฟล์ต้องเก็บไว้ในโฟลเดอร์ images เท่านั้น!
player.pos = 250, 250
 
# ฟังก์ชั่นวาดบนจอ
def draw():
    screen.fill((128, 128, 128))
    player.draw()
 
#ฟังก์ชั่นตรวจสอบการคลิกเมาสที่ สไปร์ทตัวละคร
def on_mouse_down(pos):
    if player.collidepoint(pos):  # เมื่อคลิกที่ sprite player 
        player.image = "alien_green"  # เปลี่ยน player  รูปเป็น alien_green
 

 
#รันโปรแกรม
pgzrun.go()