iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
自我挑戰組

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

Day7 昨天的問題找到更好的解決方式了,還有寫了個空白鍵的函式

  • 分享至 

  • xImage
  •  

昨天我幫那個問題,如果在中途程式按下叉來退出,那程式會需要繼續跑完剩下的程式才能退出的問題用了一個笨方法解決,按下叉後之後的程式都用判斷式跳過,但我今天查詢時看到AI用了一個寫法:sys.exit(),用這個程式可以直接從中途結束,於是我去查這會不會是一個強制暴力結束,會有副作用的方法,結果並不是,比較可能的問題,就是如果用太多,可能變得程式難判斷跑到哪,難讀之類的,於是我改掉了之前用變數紀錄的方法,如果收到叉叉的事件,就關閉pygame,再sys.exit。
然後啊,我把等待直到空白鍵的程式寫成了一個函式,之前是把那段程式直接寫在主程式中,但今天在加東西時,發現這一段似乎會用到很多次,於是就把它裝進函式裡了。另外我原本的做法是用pygame.event.get(),在while迴圈裡持續偵測,用for迴圈把事件一個個提出來判斷,最後再加上clock.tick控制速度避免吃一堆資源,但今天發現了另一個為了這種狀況的寫法:event=pygame.event.wait(),它會卡住等待直到有事件來,再直接把事件提取給event,所以也不需要我再用for迴圈去提,據說在等待期間幾乎不吃效能呢!
最後就是要交了一些東西,都是按下空格鍵更新畫面那種的。
今天的進度就是這樣,題外話,發現我的發文我在google查怎麼做時竟然跑到前面了,希望不要有人被我發的文裡,糟糕的做法害到。


上一篇
Day6 修掉之前問題,加了個畫面,有點樣子了?
下一篇
Day8 今天一般來說最常用的滑鼠操作總算進來了
系列文
學習用Pygame製作小專案13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言