python - 玩家在pygame中不动
问题描述
我用 pygame 创建了一个程序。背景和播放器正在出现,但播放器没有移动。程序没有给出任何错误,你能帮帮我吗?我正在使用 python 3.8.6。这是我的一些代码。
# Game Loop
running = True
while running:
for event in pygame.event.get():
player(playerX, playerY)
pygame.display.update()
# Movment
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
player_x_change -= 10
if event.key == pygame.K_d:
player_x_change += 10
if event.key == pygame.K_w:
player_y_change -= 10
if event.key == pygame.K_s:
player_y_change += 10
if event.type == pygame.KEYUP:
if event.key == pygame.K_a:
player_x_change = 0
if event.key == pygame.K_d:
player_x_change = 0
# Close the game
if event.type == pygame.QUIT:
running = False
解决方案
当用户按下按钮移动角色然后更新玩家位置时,您需要检查事件。例如,这里检查玩家是否按下了右箭头:
while running:
for event in pygame.event.get():
player(playerX, playerY)
pygame.display.update()
# checking if right arrow is being pressed
if events.type == pygame.KEYDOWN:
if events.key == pygame.K_RIGHT
# update players x position here to move right
# for example, player.x += 2
# Close the game
if event.type == pygame.QUIT:
running = False
推荐阅读
- three.js - 我怎样才能让物体的整个侧面都有光?
- python - 如何在 Pandas 数据框中按值获取确切的行号和列号,即单元格地址
- java - “gradle appRun”上的 Groovy NullPointerException
- angular - 如何使用 Angularfire 和 async 以及 Observables 从 firebase 中正确读取数据?
- python - 通过 pdfkit 生成 pdf 时的编解码器错误
- python - 从多个列表创建一个集合
- angular - 溃败加载后重新加载角度标题组件
- c# - 使用域外用户访问网络上的文件
- javascript - 检查脚本标签中的内容
- stripe-payments - 在 Stripe API 中按用户区分客户