python - 如何使用键输入在 Pyglet 中移动对象
问题描述
所以我正在学习Pyglet。我想知道如何使用按键输入来移动字符。我查看了文档,这并没有让我满意。PS我想你用精灵做运动,但我想移动一个绘制的矩形。
(只是我正在运行的代码)
import pyglet
from pyglet.window import key, mouse
from pyglet import shapes
x = 250
window = pyglet.window.Window()
batch = pyglet.graphics.Batch()
rectangle = shapes.Rectangle(x, 300, 400, 200, color=(255, 22, 20), batch=batch)
@window.event
def on_key_press(symbol, modifiers):
if symbol == key.LEFT:
x += 10
print ('mystery')
@window.event
def on_draw():
window.clear()
batch.draw()
pyglet.app.run()
解决方案
你需要改变rectangle.x
,rectangle.y
而不仅仅是x
和y
@window.event
def on_key_press(symbol, modifiers):
if symbol == key.LEFT:
rectangle.x -= 10
elif symbol == key.RIGHT:
rectangle.x += 10
elif symbol == key.UP:
rectangle.y += 10
elif symbol == key.DOWN:
rectangle.y -= 10
推荐阅读
- java - 使图像在不同区域可点击 Java Swing
- ruby - 如何在 Ruby 和 FFI 中传递指针?
- angular - 模板驱动表单中的自定义验证器始终返回 null
- apache-nifi - 我可以使用 localhost 而不是 Nifi 集群中的实际节点 IP 地址访问 Nifi Rest-API 吗?
- html - 将一张图片移到另一张图片中
- ios - 单例及其在 swift 中的同步
- powershell - 具有 New-Object 的嵌套 OrderedDictionary 和数组数据结构
- r - 根据其他变量是否为 NA 创建具有值的变量
- python - “导入编码”是什么意思?
- json - 如何禁用 artifact-[build-no].json 文件的创建?