遊戲的持續進行,往往是通過不同的事件來驅動的。遊戲過程中,發生不同的事情需要做出不一樣的反應,比如:點擊某個按鈕要執行某個操作,按鍵盤上不同的鍵也需要做不同的反應,接下來我們講解一下 pygame 中應該怎麼檢測和區分事件。
如果對pygame感興趣想要系統學習,可以看看我錄的pygame的視頻: https://www.bilibili.com/video/BV1bE411p7Ue
"""__author__ = 餘婷"""
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
screen.fill((255, 255, 255))
# 設置窗口標題
pygame.display.set_caption('遊戲事件')
pygame.display.flip()
"""
QUIT:關閉按鈕被點擊事件
MOUSEBUTTONDOWN: 鼠標按下事件
MOUSEBUTTONUP: 鼠標按下彈起
MOUSEMOTION:鼠標移動
鼠標相關事件關心事件產生的位置
KEYDOWN: 鍵盤按下
KEYUP: 鍵盤彈起
"""
while True:
# 每次循環檢測有沒有事件發生
for event in pygame.event.get():
# 不同類型的事件對應的type值不一樣
if event.type == pygame.QUIT:
exit()
# 鼠標相關事件
# pos屬性,獲取鼠標事件產生的位置
if event.type == pygame.MOUSEBUTTONDOWN:
print('鼠標按下', event.pos)
if event.type == pygame.MOUSEBUTTONUP:
print('鼠標彈起', event.pos)
if event.type == pygame.MOUSEMOTION:
print('鼠標移動', event.pos)
# 鍵盤相關事件
# key屬性,被按的按鍵對應的值的編碼
if event.type == pygame.KEYDOWN:
print('鍵盤按鍵被按下',chr(event.key))
if event.type == pygame.KEYUP:
print('鍵盤按鈕彈起', chr(event.key))