如何解决如何使用Python,Pyglet移动精灵?
无论我怎么努力,精灵都不会移动,代码是正确的,我不会问,但是我有一个绝望的情况,求助! 我已经使用过KeyStateHandler,但是它也不起作用。
import pyglet
from pyglet.window import keys
x = 300
y = 300
w=pyglet.window.Window(600,600)
i =
pyglet.resource.image("pl.png")
sprite = pyglet.sprite.Spite(i)
@w.event
def on_draw():
w.clear()
sprite.draw(x,y)
@w.event
def key(symbol,modifiers):
if symbol == K.UP:
x+=10
解决方法
如果要在函数内部修改全局变量,则需要指定它是全局变量。
@w.event
def key(symbol,modifiers):
global x
if symbol == K.UP:
x += 10
如果不这样做,实际上是在创建一个 local 变量。 x += 10
与x = x + 10
是同一件事。如果您在函数中编写此代码,而不将x
声明为全局变量,则python会认为您想创建一个局部变量x
,该变量等于全局变量x
加10。当函数退出时,局部变量将被销毁,全局变量将保持不变。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。