我在嘗試掌握py遊戲代碼中的幾件事情時遇到了困難,首先爲什麼有兩種類型的退出或它們是否相同?例如:試圖瞭解pygame
pygame.QUIT
pygame.quit()
我也無法把握這一小塊代碼完全:
for event in pygame.event.get():
if event.type == pygame.QUIT:
我理解的第一行代碼,但我不明白event.type?是.type
pygame或python中的函數一般?它有什麼作用?
我在嘗試掌握py遊戲代碼中的幾件事情時遇到了困難,首先爲什麼有兩種類型的退出或它們是否相同?例如:試圖瞭解pygame
pygame.QUIT
pygame.quit()
我也無法把握這一小塊代碼完全:
for event in pygame.event.get():
if event.type == pygame.QUIT:
我理解的第一行代碼,但我不明白event.type?是.type
pygame或python中的函數一般?它有什麼作用?
pygame.QUIT
只是一個常量,而pygame.quit()
是pygame
模塊中的一個函數,它可以對其進行初始化。代碼片段:
for event in pygame.event.get():
if event.type == pygame.QUIT:
...
是pygame
程序的典型控制迴路的一部分。方法pygame.event.get()
返回下一個事件。如果事件類型(事件對象的屬性)爲pygame.QUIT
,則應用程序應該執行退出所需的操作,包括可能調用pygame.quit()
。
pygame.QUIT
是用於將輸入的枚舉用信號爲節目退出
pygame.quit()
是一個函數調用卸載pygame的模塊。根據文檔它不會真的退出遊戲: http://www.pygame.org/docs/ref/pygame.html#pygame.quit 你可以使用sys.exit(0)。
這這裏循環:
for event in pygame.event.get():
if event.type == pygame.QUIT:
檢查每一個事件,如果他們中的一個具有價值pygame.QUIT那麼一些退出代碼應該遵循。
pygame.quit()不退出遊戲,只卸載pygame模塊 – Ikke 2014-09-24 20:06:00
謝謝,我更新了我的答案。 – 2014-09-24 20:08:11
爲pygame.quit()手冊上說:
未初始化先前已初始化所有pygame的模塊。當Python解釋器關閉時,不管這個方法是什麼,所以你的程序不應該需要它,除非它想要終止它的pygame資源並繼續。
所以你通常應該自己調用這個方法。
pygame.QUIT是一個所謂的事件類型。 Pygame使用事件來告訴你發生了什麼事。代碼檢查隊列中的每個事件並檢查是否發生QUIT事件。
event.type
是pygame的東西,它告訴你它是什麼類型的事件。通過與pygame.QUIT
進行比較,您可以檢查是否調用了quit()
方法,並採取措施關閉遊戲。
你在說什麼'quit()'方法?當用戶關閉窗口時,將QUIT事件推入隊列。 – 2014-09-24 22:17:42
@BartlomiejLewandowski pygame.quit(),就像我鏈接到的。 – Ikke 2014-09-25 06:46:50
quit事件類型與被調用的quit函數無關。 – 2014-09-25 09:04:33
你的誤解更多的是與python相比pygame ...函數調用將(通常)以'()'結尾。 – Gerrat 2014-09-24 20:07:11