Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends KinematicBody2D
- export var speed = 100
- var motion = Vector2()
- func _process(delta):
- update_motion(delta)
- func animate_released():
- var is_up = Input.is_action_pressed("ui_up")
- var is_down = Input.is_action_pressed("ui_down")
- var is_left = Input.is_action_pressed("ui_left")
- var is_right = Input.is_action_pressed("ui_right")
- if is_up:
- $Sprite/AnimationPlayer.play("Up")
- if is_right:
- Sprite/AnimationPlayer.play("Right")
- if is_down:
- $Sprite/AnimationPlayer.play("Down")
- if is_left:
- $Sprite/AnimationPlayer.play("Left")
- func update_motion(delta):
- var is_up = Input.is_action_pressed("ui_up")
- var is_down = Input.is_action_pressed("ui_down")
- var is_left = Input.is_action_pressed("ui_left")
- var is_right = Input.is_action_pressed("ui_right")
- var is_j_up = Input.is_action_just_pressed("ui_up")
- var is_j_down = Input.is_action_just_pressed("ui_down")
- var is_j_left = Input.is_action_just_pressed("ui_left")
- var is_j_right = Input.is_action_just_pressed("ui_right")
- motion.x = -int(is_left) + int(is_right)
- motion.y = -int(is_up) + int(is_down)
- motion = motion.normalized() * speed
- if is_j_left:
- $Sprite/AnimationPlayer.play("Left")
- if is_j_down:
- $Sprite/AnimationPlayer.play("Down")
- if is_j_right:
- $Sprite/AnimationPlayer.play("Right")
- if is_j_up:
- $Sprite/AnimationPlayer.play("Up")
- if Input.is_action_just_released("ui_up"):
- $Sprite/AnimationPlayer.stop()
- animate_released()
- if Input.is_action_just_released("ui_down"):
- $Sprite/AnimationPlayer.stop()
- animate_released()
- if Input.is_action_just_released("ui_left"):
- $Sprite/AnimationPlayer.stop()
- animate_released()
- if Input.is_action_just_released("ui_right"):
- $Sprite/AnimationPlayer.stop()
- animate_released()
- move_and_slide(motion)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement