Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends KinematicBody2D
- var velocity = Vector2.ZERO
- export var max_run_speed = 350
- export var max_jump_speed = -1000
- export var max_gravity = 2500
- var run_speed = max_run_speed
- var jump_speed = max_jump_speed
- var gravity = max_gravity
- var jump_possible = true
- export var max_coyote_time = 0.075
- var coyote_time = max_coyote_time
- func get_input():
- velocity.x = 0
- var right = Input.is_action_pressed("ui_right")
- var left = Input.is_action_pressed("ui_left")
- var jump = Input.is_action_just_pressed("ui_select")
- if right:
- $Sprite.flip_h = 1
- velocity.x += run_speed
- if left:
- $Sprite.flip_h = 0
- velocity.x -= run_speed
- if jump_possible and jump:
- velocity.y = jump_speed
- coyote_time = 0
- func _physics_process(delta):
- if coyote_time > 0 and velocity.x != 0:
- coyote_time -= delta
- else:
- coyote_time = 0
- jump_possible = false
- if is_on_floor():
- velocity.y = 0
- coyote_time = max_coyote_time
- jump_possible = true
- elif coyote_time <= 0:
- velocity.y += gravity * delta
- get_input()
- move_and_slide(velocity, Vector2(0, -1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement