python - 命令 K_UP 和 K_DOWN 在 Pygame 中不起作用
问题描述
我在我的 Pygame 程序中编写了以下代码:-
if (event.type == pygame.KEYDOWN):
x = player_pos[0]
y = player_pos[1]
if (event.key == pygame.K_LEFT):
x -= player_size
elif (event.key == pygame.K_RIGHT):
x += player_size
elif (event.key == pygame.K_UP):
y += player_size
elif (event.key == pygame.K_DOWN):
y -= player_size
player_pos = [x,y]
但是,当我按下向上键时,对象会下降,当我按下向下键时,它会上升,反之亦然!谁能让我知道如何解决这个问题?谢谢您的帮助:)
解决方案
在 Pygame 坐标系中,左上角为 (0, 0)。从那里,x 坐标向右增加,y 坐标向下增加。因此,y 轴指向下方。您需要减少 y 坐标以向上移动并增加它以向下移动:
elif event.key == pygame.K_UP:
y -= player_size
elif event.key == pygame.K_DOWN:
y += player_size
推荐阅读
- android - 不会更改我的按钮的 kivy 文件
- grafana - 当 Grafana 在 DC/OS 上重新启动时,仪表板和可视化会丢失
- nested - latex - 使用嵌套值传递参数
- python - 在当前目录安装python包
- html - 使图像在悬停时从中心展开并使图像仍留在框中
- angular - 如何以角度 4 反应形式创建动态数组并将每个字段与输入(formControlName)绑定?
- vba - 如何在保持格式的同时连接多个 rtf 文件
- c++ - 在 C++ 中比较来自向量的字符串时出现分段错误
- haskell - Haskell 按列表索引过滤
- mysql - 删除 # OR 第一行数据允许我将它输入到数据库中吗?