iT邦幫忙

2026 iThome 鐵人賽

DAY 5
0
自我挑戰組

學習用Pygame製作小專案系列 第 5

Day5 做了些事件事件偵測和遊戲的迴圈

  • 分享至 

  • xImage
  •  

今天我把之前那個放入文字和圖片的畫面加入了一個按下空格鍵結束的功能,之後應該會是按下空格鍵開始之類的,但目前後面沒有東西了。這裡我建立了一個持續偵測的迴圈,用來偵測空格鍵是否被按下:

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                running=False
        if event.type == pygame.QUIT:
            running=False
    clock.tick(30)

這裡用pygame.event.get()來取得各種事件,pygame.QUIT的事件也有程式接了。
按按鈕pygame還有一個偵測的方法,是利用pygame.key.get_pressed把按鍵是否被按下抓出來,不過這個是偵測是否正被按著,不是被按下去那時才有。
然後加入了clock,clock是pygame.time.Clock()的物件,在循環中加入clock.tick(甄率),它就會自動把甄率的時間補上,覺得這功能也太智能了吧。
然後這裡有個問題,就是如果我的程式是做成像一般的一個大遊戲迴圈來跑所有東西,那退出遊戲迴圈就是結束,收到pygame.QUIT事件就結束迴圈沒問題,但現在的結構是遊戲迴圈結束後會進到下一段,那收到退出事件時就不能只是結束遊戲迴圈了,先記錄下這個問題,之後看看怎麼應付。
今天的進度是這樣。


上一篇
Day4 今天在視窗中放入了東西
下一篇
Day6 修掉之前問題,加了個畫面,有點樣子了?
系列文
學習用Pygame製作小專案12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言