[英]Need help on Pygame KEYDOWN
Just looking for assistance, 只是在寻求帮助,
How can I adjust this so my character only moves when the LEFT of RIGHT key is held down & stops when key is released? 如何调整此设置,使角色仅在按住RIGHT的左键时才移动,而在释放该键时才停止?
player_x = 10
player_y = 245
player_x_change = 0
clock = pygame.time.Clock()
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
player_x_change = -20
if event.key == pygame.K_RIGHT:
player_x_change = 20
player_x += player_x_change
You have to check KEYUP
and change player_x_change
您必须检查
KEYUP
并更改player_x_change
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
player_x_change = -20
elif event.key == pygame.K_RIGHT:
player_x_change = 20
elif event.type == pygame.KEYUP:
if event.key in (pygame.K_LEFT,pygame.K_RIGHT):
player_x_change = 0
EDIT: 编辑:
if you need to stop object when LEFT and RIGHT are pressed at the same time 如果您需要在同时按下LEFT和RIGHT时停止对象
player_x_change = 0
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
player_x_change -= 20
elif event.key == pygame.K_RIGHT:
player_x_change += 20
elif event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT:
player_x_change += 20
elif event.key == pygame.K_RIGHT:
player_x_change -= 20
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.