iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0
自我挑戰組

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

Day29 加了文字框,並且有辦法處理進度了

  • 分享至 

  • xImage
  •  

今天寫了一個新角色,叫talkBox,它負責處理說話那樣的事,它不是地圖上的角色,比較接近狀態欄那種的GUI,為了做到對話框的效果,我寫了一個函式在主程式那,功能是看看有沒有要說(或者應該用顯示)的話,如果有,那就畫出對話框,把字放在這裡面,不然就不畫,而至於要說的話,甚麼時候對話被切掉之類的事,是talkBox這角色管的,在迴圈中我放入了這角色的一個函式,它負責更新對話框內容,當沒在說話時,如果在"要說的話的清單"裡有發現有要說的話,那就從第0項說起,然後把這項list.pop(0)掉,我原本是想說用索引的方式來寫的,但是後來發現索引會帶來更多問題,比如:甚麼時候重制、當有對話取代舊的對話十項目數不一樣造成報錯、沒從頭開始等等,而用pop,只要確保它不是在清單中沒有項目時pop,目前想像中應該都能正常從頭運行。
然後進度的部分我之前有點不知道怎麼處理,當然可以寫一大堆記錄各種事件的變數,然後再用各種if判斷現在狀況是甚麼,但是可以預見這樣拼命建各種變數的方法,到後面會很亂(雖然我剩下的時間也不會到多"後面"了),總之我想到了個方法,應該能更好整理一些,我建了個紀錄進度的陣列,第0項是放現在進度是多少了,後面是用來帶這進度其他需要的內容的,然後我迴圈中加入一區程式,它們負責對進度進行處理、進行現在進度要做的事這樣子,這樣感覺就能比較清楚了。
今天進度差不多是這樣,明天是最後一天了耶。_。 不知接下來能做多少


上一篇
Day28 今天讓角色能被點擊互動了,但有點不確定之後寫法
下一篇
Day30 最後一天,把想放的東西都放進去了,但還沒打包完
系列文
學習用Pygame製作小專案 共 31 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言