-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patharrow_input.gd
More file actions
38 lines (31 loc) · 843 Bytes
/
arrow_input.gd
File metadata and controls
38 lines (31 loc) · 843 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
extends KinematicBody2D
export (int) var run_speed = 100
export (int) var jump_speed = -400
export (int) var gravity = 1200
var velocity = Vector2()
var jumping = false
var has_double_jumped = false
func PlayerJump():
jumping = true
velocity.y = jump_speed
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_up')
if jump and is_on_floor():
PlayerJump()
has_double_jumped = false
elif jump and !has_double_jumped:
PlayerJump()
has_double_jumped = true
if right:
velocity.x += run_speed
if left:
velocity.x -= run_speed
func _physics_process(delta):
get_input()
velocity.y += gravity * delta
if jumping and is_on_floor():
jumping = false
velocity = move_and_slide(velocity, Vector2(0, -1))