Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import Tk, Canvas, mainloop, PhotoImage
- import time
- window = Tk()
- canvas = Canvas(window, width=1000, height=800)
- canvas.pack()
- canvas.create_rectangle(0, 780, 1000, 800, fill="Gray", outline="Gray")
- canvas.create_rectangle(200, 600, 400, 620, fill="Gray", outline="Gray")
- playerObject =canvas.create_rectangle(20,720,52,752, fill="Red")
- actor_vy = 2.5
- actor_vx = 0.0
- delay = 5
- def go_left(event):
- global actor_vx
- actor_vx = -5.0
- delay = 2
- def go_right(event):
- global actor_vx
- actor_vx = 5.0
- delay = 2
- def jump(event):
- global actor_vy
- x1, y1, x2, y2 = canvas.coords(playerObject)
- o = canvas.find_overlapping(x1, y1, x2, y2)
- for item in o:
- if item != playerObject:
- actor_vy = -8.0
- def game_update():
- window.after(10, game_update)
- global actor_vx
- global delay
- canvas.move(playerObject, int(actor_vx), 0)
- if delay > 0:
- delay -= 1
- else:
- if actor_vx > 0:
- actor_vx -= 0.1
- elif actor_vx < 0:
- actor_vx += 0.1
- def gravity_update():
- window.after(10, gravity_update)
- global actor_vy
- canvas.move(playerObject, 0 ,int(actor_vy))
- x1, y1, x2, y2 = canvas.coords(playerObject)
- o = canvas.find_overlapping(x1,y1,x2,y2)
- for item in o:
- if item != playerObject:
- actor_vy = 0.0
- else:
- actor_vy += 0.25
- def groudCollisionUp():
- window.after(5, groudCollisionUp)
- x1, y1, x2, y2 = canvas.coords(playerObject)
- o = canvas.find_overlapping(x1,y1+31,x2,y2-1)
- for item in o:
- if item != playerObject:
- canvas.move(playerObject, 0, -1)
- def groundCollisionDown():
- window.after(5, groundCollisionDown)
- x1, y1, x2, y2 = canvas.coords(playerObject)
- o = canvas.find_overlapping(x1, y1, x2, y2-32)
- for item in o:
- if item != playerObject:
- canvas.move(playerObject, 0, 1)
- window.bind('<Left>', go_left)
- window.bind('<Right>', go_right)
- window.bind('<space>', jump)
- window.after(5, groundCollisionDown)
- window.after(5, groudCollisionUp)
- window.after(10, game_update)
- window.after(10, gravity_update)
- mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement