pygame 筆記-1 按鍵控制方塊移動
阿新 • • 發佈:2018-12-09
背景:家裡的娃慢慢長大了,準備教一些兒童入門的程式設計知識,研究了一陣麻省理工的scratch 2 雖然不錯,但是功能有限,很多高階點的東西玩不出來。所以就有了這一系列,先提前自學一下,順便拿來練手python ~_^
pygame雖然不是做大型遊戲的最好選擇,但是入門卻是不錯,python也易於學習,官網的文件也算齊全。
先來一個最基本的程式碼:
import pygame pygame.init() win = pygame.display.set_mode((320, 240)) # 畫布視窗的大小 pygame.display.set_caption("first game") # 視窗標題 x, y = 50, 50 # 方塊的起點 width, height = 30, 30 # 方塊的寬,高 speed = 5 # 速度 run = True while run: # 防止cpu佔用過高 pygame.time.delay(20) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False keys = pygame.key.get_pressed() # 方向箭頭響應 if keys[pygame.K_LEFT]: x -= speed if keys[pygame.K_RIGHT]: x += speed if keys[pygame.K_UP]: y -= speed if keys[pygame.K_DOWN]: y += speed # 防止跑出邊界 if x > win.get_size()[0] - width: x = win.get_size()[0] - width if x < 0: x = 0 if y > win.get_size()[1] - height: y = win.get_size()[1] - height if y < 0: y = 0 # 將每一幀的底色先填充成黑色 win.fill((0, 0, 0)) # 畫方塊 pygame.draw.rect(win, (255, 0, 0), (x, y, width, height)) # 更新畫布 pygame.display.update() pygame.quit()
效果:
參考:
https://www.youtube.com/watch?v=i6xMBig-pP4
https://nerdparadise.com/programming/pygame/part1
https://www.pygame.org/docs/ref/surface.html