028第12章 A SHIP THAT FIRES BULLETS_續5_PYGAME.EVENT.GET()
💛20230128 晨讀感言:
💔在一個 類(class) 裡面,方法(method) 可區分為 輔助方法(helper method)和 一般方法,而至於該 建置 何種類型的方法,端看 你所寫的方法 要如何 啟動,如果,需要經由 類(class) 的 instance 呼叫的話,那麼這個方法 就不要 以 輔助方法 的型式 來建置。舉例來說,如果你有 一個 arrtibute 要當 flag 來使用,那麼 會用到 該 flag 的 「方法」,就不要 以 輔助方法 的型式 來建置。
💔寫入門的遊戲程式,對玩家而言最簡單的遊戲控制方式就是 經由 鍵盤 來操作,而每次對鍵盤的按壓和釋放等動作,都會被 python 裡的 modules ( pygame)視為一個 event(事件) ,所以我們可以很輕鬆地經由 pygame 所搜集的事件(即pygame.event.get())來檢視 這些鍵盤操作 動作,舉例:我們會用 for 迴圈(即 for event in pygame.event.get():) 和 if 判斷式(即 if event.type == pygame.XXX :)來識別 鍵盤操作 動作。
💔在程式中,雖然「if 和 if 」和 「if 和 elif 」兩者皆可達成同一種結果,但是什麼時候用 「if 和 if」 ,什麼時候用「 if 和 elif」 ,則視 兩者的 「if 判斷源頭」 是否為同一個 判斷源頭。
💛晨讀摘要:
💚241 If a KEYDOWN event occurs for the K_LEFT key, we set moving_left to True. If a KEYUP event occurs for the K_LEFT key, we set moving_left to False. ==We can use elif blocks here because each event is connected to only one key. If the player presses both keys at once, two separate events will be detected==.
from:《python crash course》