[英]How to exit game loop with several pygame events written in one line?
我為模糊的標題表示歉意,但是本質上,我想使用pygame以幾種不同的方式退出游戲循環。 給定以下代碼,我要避免兩次編寫“ running = False”。 我知道這是非常小的事情,但是如果可能的話,我想用更少的行“ and”和“ or”來寫“ if”條件。
running = True
while running:
for e in pg.event.get():
if e.type == pg.QUIT:
running = False
if e.type == pg.KEYDOWN:
if e.key == pg.K_ESCAPE:
running = False
pg.quit()
這是我第一次問一個問題,所以請問這是不是太含糊或只是一個愚蠢的問題。 還是要謝謝你!
使用一些好的老布爾代數,並用括號將其分組!
我認為這完全相同,但是您可能需要仔細檢查:
while True:
for e in pg.event.get():
if e.type == pg.QUIT or (e.type == pg.KEYDOWN and e.key == pg.K_ESCAPE):
pg.quit()
如果目標是在任何一種情況下退出,那么它將起作用:
running = True
while running:
for e in pg.event.get():
if e.type == pg.QUIT or (e.type == pg.KEYDOWN and e.key == pg.K_ESCAPE):
running = False
pg.quit()
您可以使用以下方法進一步縮短它:
while True:
for e in pg.event.get():
if e.type == pg.QUIT or (e.type == pg.KEYDOWN and e.key == pg.K_ESCAPE):
break
pg.quit()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.