Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends KinematicBody
- var velocity = Vector3.ZERO
- var speed = 2
- var isAttacking = false
- onready var animatedSprite = AnimatedSprite
- func _physics_process(delta):
- var input_vector = Vector3.ZERO
- input_vector.x = Input.get_action_strength("ui_right") - Input.get_action_strength("ui_left")
- input_vector.z = Input.get_action_strength("ui_up") - Input.get_action_strength("ui_down")
- input_vector = input_vector.normalized()
- if input_vector != Vector3.ZERO:
- velocity.x = input_vector.x * speed
- velocity.z = input_vector.z * -speed
- $AnimatedSprite3D.play("walk")
- elif Input.is_action_just_pressed("attack"):
- $AnimatedSprite3D.play("punch")
- isAttacking = true
- else:
- # velocity = velocity.move_toward(Vector3.ZERO, friction * delta)
- velocity.x = lerp(velocity.x,0,0.2)
- velocity.z = lerp(velocity.z,0,0.2)
- $AnimatedSprite3D.play("idle")
- isAttacking == false
- # if velocity.x > 0:
- # animatedSprite.flip_h = false
- # elif velocity.x < 0:
- # animatedSprite.flip_h = true
- velocity = move_and_slide(velocity)
- func _on_AnimatedSprite3D_animation_finished():
- if $AnimatedSprite3D.animation == "punch":
- $AnimatedSprite3D.play("idle")
- isAttacking = false
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement