У меня проблема с объектом 'Game', не имеющим атрибута с именем 'canvas', так что у него нет атрибута с именем canvas?
, хотя я пытался добавить функцию float,похоже, снова появляется та же ошибка.
class PlatformSprite(Sprite):
def __init__(self,game, photo_image, x, y, width, height):
Sprite.__init__(self, game)
self.photo_image = photo_image
self.image = float(game.canvas.create_image(x, y,image=self.PhotoImage
anchor='nw'))
self.coordinates = Coords(x, y, x + width, y + height)
сообщение об ошибке ...
Traceback (most recent call last):
File "C:\Users\telta\Desktop\stickman game.py", line 227, in <module>
0, 480, 100, 10)
File "C:\Users\telta\Desktop\stickman game.py", line 91, in __init__
self.image = float(game.canvas.create_image(x, y, \
AttributeError: type object 'Game' has no attribute 'canvas'
ниже приведена классовая игра. Пожалуйста, дайте мне знать об изменениях
class Game:
def __init__(self):
self.tk = Tk()
self.tk.title("Mr. Stick Man Races for the Exit")
self.tk.resizable(0, 0)
self.tk.wm_attributes("-topmost", 1)
self.canvas = Canvas(self.tk, width=500, height=500, \
highlightthickness=0)
self.canvas.pack()
self.tk.update()
self.canvas_height = 500
self.canvas_width = 500
self.bg = PhotoImage(file="D:\\stkmn\\bg2.png")
w = self.bg.width()
h = self.bg.height()
for x in range(0, 5):
for y in range(0, 5):
self.canvas.create_image(x * w, y * h, \
image=self.bg, anchor='nw')
sprites = []
self.running = True
def mainloop(self):
while 1:
if self.running == True:
for sprite in self.sprites:
sprite.move()
self.tk.update_idletasks()
self.tk.update()
time.sleep(0.01)