import pygame
from color import Color
from random import randint
游戲中的事件:
1.鼠標(biāo)相關(guān)的事件
MOUSEBUTTONDOWN - 鼠標(biāo)按下
MOUSEBUTTONUP - 鼠標(biāo)彈起
MOUSEMOTION - 鼠標(biāo)移動(dòng)
鼠標(biāo)事件要關(guān)注事件發(fā)生的位置: event.pos - 鼠標(biāo)的坐標(biāo)循榆,元祖
2.鍵盤事件
KEYDOWN
KEYUP
鍵盤事件要關(guān)注哪個(gè)鍵被按了:event.key - 按鍵對(duì)應(yīng)的字符的編碼, 數(shù)字
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:
# 不斷檢測(cè)是否有事件產(chǎn)生,如果有事件產(chǎn)生才會(huì)進(jìn)入for循環(huán)
for event in pygame.event.get():
# 這兒的event是事件對(duì)象,我們可以通過事件對(duì)象的type值來判斷事件的類型
#==================鼠標(biāo)事件===================
if event.type == pygame.QUIT:
exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
# 鼠標(biāo)按下要做什么,就將代碼寫這個(gè)if語句中
print('鼠標(biāo)按下', 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:
# 鼠標(biāo)彈起要做什么阶牍,就將代碼寫這個(gè)if語句中
print('鼠標(biāo)彈起')
is_move = False
elif event.type == pygame.MOUSEMOTION:
# 鼠標(biāo)移動(dòng)要做什么, 就將代碼寫這個(gè)if語句中
if is_move:
pygame.draw.circle(window, Color.random_color(), event.pos, 20)
pygame.display.update()
print('鼠標(biāo)移動(dòng)')
# ================鍵盤事件=================
if event.type == pygame.KEYDOWN:
print('按鍵被按下')
print(event.key, chr(event.key))
elif event.type == pygame.KEYUP:
print('按鍵彈起!')