aus irgendeinem Grund ist die variable UP (zur Feststellung ob die Figur auf festem Boden steht oder nicht) immer auf 1.
kann mir jemand sagen was ich falsch gemacht habe?
Code: Alles auswählen
#tkinter
from tkinter import *
from time import *
screen = Tk()
screen.title('jump and run')
c = Canvas(screen, width=1400, height=700)
c.pack()
UP = 0
#hintergrund
himg = PhotoImage(file='Hintergrund.gif')
c.create_image(0, 0, anchor=NW, image=himg)
#Player
img = PhotoImage(file='Player.gif')
Player1 = c.create_image(100, 600, anchor=NW, image=img)
img2 = PhotoImage(file='Player2.gif')
Player2 = c.create_image(100, 600, anchor=NW, image=img2)
c.itemconfig(Player2, state=HIDDEN)
def Player(event):
key = event.keysym
if key == "Left":
c.move(Player1, -10, 0)
c.move(Player2, -10, 0)
c.itemconfig(Player1, state=HIDDEN)
c.itemconfig(Player2, state=NORMAL)
elif key == "Right":
c.move(Player1, 10, 0)
c.move(Player2, 10, 0)
c.itemconfig(Player1, state=NORMAL)
c.itemconfig(Player2, state=HIDDEN)
c.bind_all('<Key>', Player)
def Player_sp(event):
UP = 1
for i in range(50):
c.move(Player1, 0, -2)
c.move(Player2, 0, -2)
screen.update()
sleep(0.01)
UP = 0
c.bind_all('<Up>', Player_sp)
#Plate
def screen_plate(PX, PY, Länge):
c.create_rectangle(PX, PY, PX + Länge, PY - 10, fill='lime')
while True:
pos = c.coords(Player1)
if pos[1] > 599:
UP = 1
if UP == 0:
c.move(Player1, 0, 2)
c.move(Player2, 0, 2)
screen.update()
sleep(0.01)