pygame中的事件

import pygame
from color import Color
from random import randint

游戲中的事件:

1.鼠標相關的事件

MOUSEBUTTONDOWN - 鼠標按下
MOUSEBUTTONUP - 鼠標彈起
MOUSEMOTION - 鼠標移動

鼠標事件要關注事件發(fā)生的位置: event.pos - 鼠標的坐標,元祖

2.鍵盤事件

KEYDOWN
KEYUP

鍵盤事件要關注哪個鍵被按了:event.key - 按鍵對應的字符的編碼, 數字

def main():
    pygame.init()
    window = pygame.display.set_mode((400, 600))
    pygame.display.set_caption('事件')
    window.fill(Color.white)

    pygame.display.flip()
    is_move = False
    while True:

        # 不斷檢測是否有事件產生,如果有事件產生才會進入for循環(huán)
        for event in pygame.event.get():
            # 這兒的event是事件對象,我們可以通過事件對象的type值來判斷事件的類型
            #==================鼠標事件===================
            if event.type == pygame.QUIT:
                exit()
            elif event.type == pygame.MOUSEBUTTONDOWN:
                # 鼠標按下要做什么,就將代碼寫這個if語句中
                print('鼠標按下', event.pos)
                # pygame.draw.circle(window, Color.random_color(), event.pos, randint(10, 20))
                # pygame.display.update()
                is_move = True
            elif event.type == pygame.MOUSEBUTTONUP:
                # 鼠標彈起要做什么,就將代碼寫這個if語句中
                print('鼠標彈起')
                is_move = False
            elif event.type == pygame.MOUSEMOTION:
                # 鼠標移動要做什么, 就將代碼寫這個if語句中
                if is_move:
                    pygame.draw.circle(window, Color.random_color(), event.pos, 20)
                    pygame.display.update()
                    print('鼠標移動')

            # ================鍵盤事件=================
            if event.type == pygame.KEYDOWN:
                print('按鍵被按下')
                print(event.key, chr(event.key))
            elif event.type == pygame.KEYUP:
                print('按鍵彈起!')
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1recode 1.json數據json數據的要求:a.一個json對應一個數據b.json中的數據一定是json...
    大漠判官1閱讀 470評論 0 0
  • 復習: 1.json數據 json數據的要求:a.一個json對應一個數據b.json中的數據一定是json支持的...
    大黃蜂人工智能閱讀 442評論 0 1
  • 1.抽象類和抽象方法 抽象類:只能被繼承,不能實例化(不能創(chuàng)建對象)抽象方法:聲明的時候不用實現。在子類中必須去重...
    hfudhu閱讀 175評論 0 0
  • 1.recode 1.json數據json數據的要求:a.一個json對應一個數據b.json中的數據一定是jso...
    芽菜包66閱讀 279評論 0 0
  • 葉落知秋濃,乾乾意其中 一秋一捆扎,三季無落空 秋黃更白首,春夏替隆冬 余生不解落,何來二月紅
    楓林醉晚閱讀 455評論 0 3

友情鏈接更多精彩內容