Эй, я застрял в этом вопросе довольно долго и надеялся, что кто-то может мне помочь:
Я использую pyglet и получил весь код, работающий в моем проекте (даже что У меня возникла проблема с), затем я перезапустил свой компьютер, и вдруг он не работал ...
Это l oop, который создает экземпляры моих объектов '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. Letter является подклассом pyglet.sprite.Sprite:
def __init__(self,im,iden,xx,yy):
super(Letter,self).__init__(img=im,x=xx,y=yy)
Ни в одной точке программы я не изменяю координаты x и y спрайта, но когда я go, чтобы нарисовать их, независимо от того, что я положил для xx и yy, они всегда рисуются в одном и том же месте в окне, ЕСЛИ Я не делаю очень большое число для yy, и в этих случаях оно просто исчезает (я предполагаю, что это за пределами окна).
У меня есть каждая буква fla sh на экране в течение 1 секунды, и для этого используется мой метод on_draw
def on_draw():
background.draw()
if not key_manager.cur_letter == None:
key_manager.cur_letter.draw()
(только key_manager. cur_letter рисуется, и это переключает каждый второй).