35 lines
893 B
GDScript
35 lines
893 B
GDScript
extends CharacterBody2D
|
|
|
|
|
|
const SPEED = 100.0
|
|
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
var direction := Input.get_axis("left", "right")
|
|
var updownDirection:=Input.get_axis("up","down")
|
|
if direction:
|
|
velocity.x = direction * SPEED
|
|
else:
|
|
velocity.x = move_toward(velocity.x, 0, SPEED)
|
|
if updownDirection:
|
|
velocity.y = updownDirection *SPEED
|
|
else:
|
|
velocity.y = move_toward(velocity.y,0,SPEED)
|
|
animation(direction,updownDirection)
|
|
move_and_slide()
|
|
|
|
|
|
func animation(directionX,directionY):
|
|
if directionX == 0 and directionY == 0:
|
|
$"AnimatedSprite2D".set_frame(0)
|
|
$"AnimatedSprite2D".pause()
|
|
if directionX < 0:
|
|
$"AnimatedSprite2D".play("WalkLeft")
|
|
elif directionX > 0:
|
|
$"AnimatedSprite2D".play("WalkRight")
|
|
if directionY > 0 and directionX == 0:
|
|
$"AnimatedSprite2D".play("WalkDown")
|
|
elif directionY < 0 and directionX ==0:
|
|
$"AnimatedSprite2D".play("WalkUp")
|
|
|