pygame遊戲開發系列4-事件檢測

遊戲的持續進行,往往是通過不同的事件來驅動的。遊戲過程中,發生不同的事情需要做出不一樣的反應,比如:點擊某個按鈕要執行某個操作,按鍵盤上不同的鍵也需要做不同的反應,接下來我們講解一下 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))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章