2 回答

TA貢獻1860條經驗 獲得超8個贊
我終于找到了如何讓它工作。這可能不是最好的解決方案,但它完全符合我的要求。相反,或者只有if keys[pygame.K_UP]and if keys[pygame.K_LEFT],我這樣寫:
if keys[pygame.K_UP] and not keys[pygame.K_LEFT]:
...
if keys[pygame.K_LEFT] and not keys[pygame.K_UP]:
...
if keys[pygame.K_LEFT] and keys[pygame.K_UP]:
...
所以它知道我當時按下了兩個鍵。感謝那些試圖幫助我的人!

TA貢獻1829條經驗 獲得超9個贊
根據評論討論,這段代碼應該可以工作。首先檢查是否按下了兩個鍵,然后檢查是否按下了各個鍵。
keys = pg.key.get_pressed()
if (keys[pg.K_LEFT] or keys[pg.K_q]) and (keys[pg.K_UP] or keys[pg.K_z]):
van.state = VAN_LEFT_UP
screen.acceleration.x = screen.vitesse
screen.acceleration.y = screen.vitesse
elif keys[pg.K_LEFT] or keys[pg.K_q]:
van.state = VAN_LEFT
screen.acceleration.x = screen.vitesse
elif keys[pg.K_UP] or keys[pg.K_z]:
van.state = VAN_UP
screen.acceleration.y = screen.vitesse
添加回答
舉報