Pyglet 没有在正确的位置绘制精灵
Pyglet not drawing sprites in correct positions
嘿,我已经在这个问题上停留了很长一段时间,希望有人能帮助我:
我正在使用 pyglet 并让所有代码在我的项目中工作(甚至是我遇到的问题)然后我重新启动了我的计算机但突然它没有工作......
这是实例化我的 'Letter' 对象的循环:
main_st = ut.makeString("EXNXYXAXDAADUXMDXLGEQTAQXDDQSVXUTSXKHXHRXYFUXLXJUTHXYVADSUXKHUQUIXSJHXHDPKXFQUXILNXORMXRPL")
letter_list = []
for i in range(len(main_st)):
letter_list.append(l.Letter(pyglet.resource.image("Letters/" + main_st[i] + ".png"),main_st[i],10,10))
这是 Letter class 构造函数 Letter 是 pyglet.sprite.Sprite 的子class:
def __init__(self,im,iden,xx,yy):
super(Letter,self).__init__(img=im,x=xx,y=yy)
我在程序中的任何时候都没有修改 sprite 的 x 和 y 坐标,但是当我去绘制它们时,无论我为 xx 和 yy 输入什么,它们总是被绘制在window 除非我为 yy 做了一个非常大的数字,在那些情况下它就会消失(我假设它在 window 之外)。
我让每个字母在屏幕上闪烁 1 秒,为了做到这一点,这是我的 on_draw 方法
def on_draw():
background.draw()
if not key_manager.cur_letter == None:
key_manager.cur_letter.draw()
(仅绘制 key_manager.cur_letter 并且每秒切换)。
问题可能与旧版本有关。
但是在调用 super(Letter, self)...
之后你可以这样做:
def __init__(self,im,iden,xx,yy):
super(Letter,self).__init__(img=im,x=xx,y=yy)
self.x = xx
self.y = yy
这应该可以解决问题。
嘿,我已经在这个问题上停留了很长一段时间,希望有人能帮助我:
我正在使用 pyglet 并让所有代码在我的项目中工作(甚至是我遇到的问题)然后我重新启动了我的计算机但突然它没有工作......
这是实例化我的 'Letter' 对象的循环:
main_st = ut.makeString("EXNXYXAXDAADUXMDXLGEQTAQXDDQSVXUTSXKHXHRXYFUXLXJUTHXYVADSUXKHUQUIXSJHXHDPKXFQUXILNXORMXRPL")
letter_list = []
for i in range(len(main_st)):
letter_list.append(l.Letter(pyglet.resource.image("Letters/" + main_st[i] + ".png"),main_st[i],10,10))
这是 Letter class 构造函数 Letter 是 pyglet.sprite.Sprite 的子class:
def __init__(self,im,iden,xx,yy):
super(Letter,self).__init__(img=im,x=xx,y=yy)
我在程序中的任何时候都没有修改 sprite 的 x 和 y 坐标,但是当我去绘制它们时,无论我为 xx 和 yy 输入什么,它们总是被绘制在window 除非我为 yy 做了一个非常大的数字,在那些情况下它就会消失(我假设它在 window 之外)。
我让每个字母在屏幕上闪烁 1 秒,为了做到这一点,这是我的 on_draw 方法
def on_draw():
background.draw()
if not key_manager.cur_letter == None:
key_manager.cur_letter.draw()
(仅绘制 key_manager.cur_letter 并且每秒切换)。
问题可能与旧版本有关。
但是在调用 super(Letter, self)...
之后你可以这样做:
def __init__(self,im,iden,xx,yy):
super(Letter,self).__init__(img=im,x=xx,y=yy)
self.x = xx
self.y = yy
这应该可以解决问题。