Ich erstelle gerade ein RPG-Spiel und jetzt möchte ich, dass der Charakter zu bestimmten Orten geht. Wenn es diese Orte erreicht, sollte dieses Fenster schließen und das Ende sollte erscheinen (Es ist in einer anderen Datei). Was ist die beste Methode, das zu tun? Ich habe derzeit das Problem zu überprüfen, dass die Variable, die mir den Zustand eines bestimmten Bereichs eingegeben hat, False
ist, wenn es wahr ist, sollte der andere Code ausgeführt werden. HierBeste Methode, um den Status einer Variablen im tkinter-Fenster zu überprüfen
ist, was ich derzeit haben:
class player(object):
def __init__(self, x, y):
self.root = None
self.x = x
self.y = y
def zeichne(self, root):
self.root = root
self.l1 = root.create_line(self.x-5, self.y-5, self.x+5, self.y+5, width=2)
self.l2 = root.create_line(self.x+5, self.y-5, self.x-5, self.y+5, width=2)
def configure(self, x, y):
self.root.delete("all")
self.x = x
self.y = y
self.root.create_line(self.x-5, self.y-5, self.x+5, self.y+5, width=2)
self.root.create_line(self.x+5, self.y-5, self.x-5, self.y+5, width=2)
def go_fwd(event):
areal.focus_set()
me.configure(me.x, me.y-2)
def go_bwd(event):
areal.focus_set()
me.configure(me.x, me.y+2)
def go_left(event):
areal.focus_set()
me.configure(me.x-2, me.y)
def go_right(event):
areal.focus_set()
me.configure(me.x+2, me.y)
dw = tk.Tk()
dw.title('Erebos')
areal = tk.Frame(master=dw, width=20000, height=600, bg='black')
areal.pack_propagate(0)
areal.pack(fill=tk.BOTH, expand=bool(dw)-100)
areal.bind("<1>", lambda event: areal.focus_set())
dw.bind("<Up>", go_fwd)
dw.bind("<Down>", go_bwd)
dw.bind("<Left>", go_left)
dw.bind("<Right>", go_right)
playarea = tk.Canvas(width=800, height=500, master=areal, bg='white')
playarea.pack()
dw.mainloop()
Ich dachte, es nützlich sein könnte, Hintergrundprozesse zu verwenden, aber es gibt so viele Pakete, dass ich wirklich bin verwirrt. Was soll ich hier machen und möchte Hintergrundpaket nutzen?
Also wo überprüfen Sie, ob der Spieler einen Bereich eingibt, und welche Variable bleibt 'falsch' – VRage
Ich habe es noch nicht getan, wie dothat, das ist meine Frage –