Hey liebe Community, ich Programmiere gerade ein kleines Python spiel und bin auf das Problem gestoßen, dass self.x&y bei tastendruck nicht übergeben werden, kann mir jemand weiter helfen? Es gibt keine Fehlermeldung es passiert nur nichts.
class Player:
def __init__(self,canvas,keys,Wegweiser):
global kastenbreite
self.canvas=canvas
self.x=0
self.y=0
self.canvas_height=self.canvas.winfo_height()
self.canvas_width=self.canvas.winfo_width()
self.canvas.bind_all(keys[0],self.nach_links(Wegweiser))
self.canvas.bind_all(keys[1],self.nach_oben(Wegweiser))
self.canvas.bind_all(keys[2],self.nach_rechts(Wegweiser))
self.canvas.bind_all(keys[3],self.nach_unten(Wegweiser))
def nach_links(self,Wegweiser):
self.x=self.x-40
def nach_oben (self,Wegweiser):
self.y=self.y-40
def nach_rechts(self,Wegweiser):
self.x=self.x+40
def nach_unten (self,Wegweiser):
self.y=self.y+40
def draw(self,id):
pos=canvas.coords(id)
self.canvas.move(id,self.x,self.y)
self.x=0
self.y=0
self.x&y sollen nur dann einen wert größer/kleiner 0 haben wenn eine Taste gedrückt wurde, dann wird die move funktion (in draw) ausgeführt und selfx&y werden wieder =0 gesetzt.
Edit: Verallgemeinerung des Topics.