pygame游戲之旅 添加鍵盤(pán)按鍵的方法
本文為大家分享了pygame游戲之旅的第4篇,供大家參考,具體內(nèi)容如下
按鍵類(lèi)型用event.type表示,按鍵用event.key表示
KEYDOWN和KEYUP的參數(shù)描述如下:
key – 按下或者放開(kāi)的鍵值,是一個(gè)數(shù)字,估計(jì)地球上很少有人可以記住,所以Pygame中可以使用K_xxx來(lái)表示,比如字母a就是K_a,還有K_SPACE和K_RETURN等。
mod – 包含了組合鍵信息,如果mod & KMOD_CTRL是真的話(huà),表示用戶(hù)同時(shí)按下了Ctrl鍵。類(lèi)似的還有KMOD_SHIFT,KMOD_ALT。
unicode – 代表了按下鍵的Unicode值,這個(gè)有點(diǎn)不好理解,真正說(shuō)清楚又太麻煩,游戲中也不太常用,說(shuō)明暫時(shí)省略,什么時(shí)候需要再講吧。
提前設(shè)置需要移動(dòng)的距離
x_change = 0
并把car的移動(dòng)到應(yīng)該的位置
x += x_change
把所有的游戲循環(huán)寫(xiě)入game_loop函數(shù)中
代碼:
import pygame
pygame.init()
white = (255,255,255)
car_width = 100
display_width = 800
display_height = 600
gameDisplay = pygame.display.set_mode( (display_width,display_height) )
pygame.display.set_caption('A bit Racey')
clock = pygame.time.Clock()
carImg = pygame.image.load('car.png')
def car(x, y):
gameDisplay.blit(carImg, (x,y))
def game_loop():
x = display_width * 0.45
y = display_height * 0.8
x_change = 0
gameExit = False
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change = -5
elif event.key == pygame.K_RIGHT:
x_change = 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
x_change = 0
print(event)
x += x_change
gameDisplay.fill(white)
car(x,y)
if x > display_width - car_width or x < 0:
gameExit = True
pygame.display.update()
clock.tick(60)
game_loop()
pygame.quit()
quit()
效果圖:



以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中的lambda和apply用法及說(shuō)明
這篇文章主要介紹了Python中的lambda和apply用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
Python Selenium安裝及環(huán)境配置的實(shí)現(xiàn)
這篇文章主要介紹了Python Selenium安裝及環(huán)境配置的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Python爬蟲(chóng):Request Payload和Form Data的簡(jiǎn)單區(qū)別說(shuō)明
這篇文章主要介紹了Python爬蟲(chóng):Request Payload和Form Data的簡(jiǎn)單區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
使用Python和OpenCV實(shí)現(xiàn)動(dòng)態(tài)背景的畫(huà)中畫(huà)效果
這篇文章將通過(guò)一個(gè)詳細(xì)的Python腳本,使用OpenCV庫(kù)來(lái)為視頻添加動(dòng)態(tài)背景,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
python計(jì)算階乘和的方法(1!+2!+3!+...+n!)
今天小編就為大家分享一篇python計(jì)算階乘和的方法(1!+2!+3!+...+n!),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
如何利用Python將html轉(zhuǎn)為pdf、word文件
網(wǎng)絡(luò)上存在很多將HTML轉(zhuǎn)換為PDF的軟件和工具,但是大家都知道收費(fèi),所以下面這篇文章主要給大家介紹了關(guān)于如何利用Python將html轉(zhuǎn)為pdf、word文件的相關(guān)資料,文中通過(guò)示例代碼介紹介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12

