如何使用键输入在Pyglet中移动对象

问题描述

所以我正在学习Pyglet。我想知道如何使用按键输入移动字符。我看了看文档,这并不令我满意。 附言 我认为您可以使用精灵进行运动,但是我想移动绘制的矩形。

(我正在运行的代码

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