Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. from tkinter import Tk, Canvas, mainloop, PhotoImage
  2. import time
  3.  
  4. window = Tk()
  5. canvas = Canvas(window, width=1000, height=800)
  6. canvas.pack()
  7.  
  8.  
  9. canvas.create_rectangle(0, 780, 1000, 800, fill="Gray", outline="Gray")
  10. canvas.create_rectangle(200, 600, 400, 620, fill="Gray", outline="Gray")
  11.  
  12.  
  13. playerObject =canvas.create_rectangle(20,720,52,752, fill="Red")
  14.  
  15. actor_vy = 2.5
  16. actor_vx = 0.0
  17. delay = 5
  18.  
  19. def go_left(event):
  20. global actor_vx
  21. actor_vx = -5.0
  22. delay = 2
  23.  
  24. def go_right(event):
  25. global actor_vx
  26. actor_vx = 5.0
  27. delay = 2
  28.  
  29. def jump(event):
  30. global actor_vy
  31. x1, y1, x2, y2 = canvas.coords(playerObject)
  32. o = canvas.find_overlapping(x1, y1, x2, y2)
  33. for item in o:
  34. if item != playerObject:
  35. actor_vy = -8.0
  36.  
  37. def game_update():
  38. window.after(10, game_update)
  39. global actor_vx
  40. global delay
  41. canvas.move(playerObject, int(actor_vx), 0)
  42. if delay > 0:
  43. delay -= 1
  44. else:
  45. if actor_vx > 0:
  46. actor_vx -= 0.1
  47. elif actor_vx < 0:
  48. actor_vx += 0.1
  49.  
  50.  
  51. def gravity_update():
  52. window.after(10, gravity_update)
  53. global actor_vy
  54. canvas.move(playerObject, 0 ,int(actor_vy))
  55. x1, y1, x2, y2 = canvas.coords(playerObject)
  56. o = canvas.find_overlapping(x1,y1,x2,y2)
  57. for item in o:
  58. if item != playerObject:
  59. actor_vy = 0.0
  60. else:
  61. actor_vy += 0.25
  62.  
  63. def groudCollisionUp():
  64. window.after(5, groudCollisionUp)
  65. x1, y1, x2, y2 = canvas.coords(playerObject)
  66. o = canvas.find_overlapping(x1,y1+31,x2,y2-1)
  67. for item in o:
  68. if item != playerObject:
  69. canvas.move(playerObject, 0, -1)
  70.  
  71.  
  72. def groundCollisionDown():
  73. window.after(5, groundCollisionDown)
  74. x1, y1, x2, y2 = canvas.coords(playerObject)
  75. o = canvas.find_overlapping(x1, y1, x2, y2-32)
  76. for item in o:
  77. if item != playerObject:
  78. canvas.move(playerObject, 0, 1)
  79.  
  80.  
  81.  
  82. window.bind('<Left>', go_left)
  83. window.bind('<Right>', go_right)
  84. window.bind('<space>', jump)
  85.  
  86. window.after(5, groundCollisionDown)
  87. window.after(5, groudCollisionUp)
  88. window.after(10, game_update)
  89. window.after(10, gravity_update)
  90.  
  91. mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement