Ich arbeite an einem Projekt, mit dem Sie eine Art von Ninja auswählen und sich bewegen und Feinde angreifen können. Ich habe die Ninja-Auswahl gemacht, aber ich bin mir nicht sicher, wie ich alle Objekte bewegen soll, die den Ninja erschaffen. Ich habe mehrere Objekte in eine c.move Funktion setzen, aber ich habe diesen Fehler:Ich versuche, alle Objekte auf einmal zu bewegen, ohne Erfolg
c.move(self.hair,self.hair2,self.head,self.neck,self.chest,self.leg1,self.leg2,self.arm1,self.arm2,0,-5)
File "C:\Users\mrden\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 2431, in move
self.tk.call((self._w, 'move') + args)
_tkinter.TclError: wrong # args: should be ".2417470327664 move tagOrId xAmount yAmount
Hier ist mein Beispielcode:
#Ninja Game
from tkinter import *
root = Tk()
c=Canvas(width=800,height=600)
c.pack()
d = ""
class Ninja:
def __init__(self,clan,):
self.clan = clan
if self.clan == "Uchiha":
self.hair = c.create_polygon(52,485,52,452,99,452,99,485)
self.head=c.create_rectangle(55,455,95,495,fill="white")
self.hair2= c.create_polygon(74,452,83,477,99,452,fill="black")
if self.clan == "Uzamaki":
self.hair = c.create_polygon(52,485,52,452,99,452,99,485,fill="#FF3232")
self.head=c.create_rectangle(55,455,95,495,fill="white")
self.neck = c.create_rectangle(59,495,91,499)
self.chest= c.create_rectangle(55,499,95,555)
self.leg1 = c.create_rectangle(55,555,71,599)
self.leg2 = c.create_rectangle(78,555,95,599)
self.arm1=c.create_rectangle(42,499,55,555)
self.arm2=c.create_rectangle(95,499,108,555)
def move(self):
if d == "U":
if self.clan == "Uzamaki":
c.move(self.hair,self.head,self.neck,self.chest,self.leg1,self.leg2,self.arm1,self.arm2,0,-5)
if self.clan == "Uchiha":
c.move(self.hair,self.hair2,self.head,self.neck,self.chest,self.leg1,self.leg2,self.arm1,self.arm2,0,-5)
n = Ninja("Uchiha")
def move_p(event):
global d
if event.keysym == "Up":
d = "U"
n.move()
c.bind_all("<KeyPress-Up>",move_p)
@ Brian Oakley Dank! –