PersesTitan(페르) 기술블로그

[GDScript] 캐릭터 이동 구현 본문

Language/GDScript

[GDScript] 캐릭터 이동 구현

PersesTitan(페르) 2023. 4. 22. 19:24

첫 프로젝트 생성

Area2D 추가 -> Area2D 이름 변경(Player) -> AnimatedSprite, CollisionShape2D를 추가

Area2D

Script

Player -> 인스팩터 -> Script -> 새 스크립트

extends Area2D

export var speed: int
var screensize

func _ready():
    screensize = get_viewport_rect().size
    pass

func _process(delta):
    var p = Vector2()
    if Input.is_action_pressed("ui_right"):
        p.x += 1
    if Input.is_action_pressed("ui_left"):
        p.x -= 1
    if Input.is_action_pressed("ui_down"):
        p.y += 1
    if Input.is_action_pressed("ui_up"):
        p.y -= 1
    if p.length() > 0:
        p = p.normalized() * speed
        $AnimatedSprite.play()
    else:
        $AnimatedSprite.stop()
    position += p * delta
    position.x = clamp(position.x, 0, screensize.x)
    position.y = clamp(position.y, 0, screensize.y)

동작

'Language > GDScript' 카테고리의 다른 글

[GDScript] clamp() 메소드  (0) 2023.04.19