Advertisement
Aighton

Godot Basic Movement Script

Apr 26th, 2020
1,203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. func movement():
  2. var move_speed = 10
  3. var jump_force = 35
  4. var rotate_speed = 2
  5.  
  6. var gravity = 1.2
  7. var max_fall_speed = 20
  8.  
  9. var move_vec = Vector3()
  10. if Input.is_key_pressed(KEY_W):
  11. move_vec.z -= 1
  12. if Input.is_key_pressed(KEY_S):
  13. move_vec.z += 1
  14. if Input.is_key_pressed(KEY_D):
  15. self.rotate_y(deg2rad(-rotate_speed))
  16. if Input.is_key_pressed(KEY_A):
  17. self.rotate_y(deg2rad(rotate_speed))
  18.  
  19. move_vec = move_vec.normalized()
  20. move_vec = move_vec.rotated(Vector3(0, 1, 0), rotation.y)
  21. move_vec *= move_speed
  22. move_vec.y = y_velo
  23. move_and_slide(move_vec, Vector3(0, 1, 0))
  24.  
  25. var grounded = is_on_floor()
  26. y_velo -= gravity
  27. if grounded and y_velo <= 0:
  28. y_velo = -0.1
  29. if y_velo < max_fall_speed:
  30. y_velo = -max_fall_speed
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement