2 回答

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
我終于找到了如何讓它工作。這可能不是最好的解決方案,但它完全符合我的要求。相反,或者只有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]:
...
所以它知道我當(dāng)時(shí)按下了兩個(gè)鍵。感謝那些試圖幫助我的人!

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
根據(jù)評論討論,這段代碼應(yīng)該可以工作。首先檢查是否按下了兩個(gè)鍵,然后檢查是否按下了各個(gè)鍵。
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
添加回答
舉報(bào)