birb/main character.gd
2025-02-16 13:49:26 -06:00

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")