Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends KinematicBody
- enum States {IDLE = 1, WALK}
- var state = States.WALK
- var velocity = Vector3.ZERO
- var speed = 55
- onready var AnimSprite = $AnimatedSprite3D
- func _physics_process(delta):
- if state == States.IDLE:
- idle_loop(delta)
- else:
- state == States.WALK
- walk_loop(delta)
- print(state)
- func walk_loop(delta):
- var input_vector = Vector3.ZERO
- input_vector.x = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
- input_vector.z = Input.get_action_strength("move_up") - Input.get_action_strength("move_down")
- input_vector = input_vector.normalized()
- if input_vector != Vector3.ZERO:
- velocity.x = input_vector.x * speed
- velocity.z = input_vector.z * -speed
- AnimSprite.play("walk")
- velocity = move_and_slide(velocity * speed * delta)
- return velocity.normalized()
- func idle_loop(delta):
- AnimSprite.play("idle")
- velocity.x = 0
- velocity.z = 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement