首页 > 解决方案 > 如何使用键输入在 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()

标签: pythonpyglet

解决方案


你需要改变rectangle.xrectangle.y而不仅仅是xy

@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

推荐阅读