Unity/베어유 : 어몽어스 개발 노트

[5강] 캐릭터 만들기 : 터치 이동

서니션 2023. 1. 5. 22:13
728x90
반응형

New - Sprite - Squre로

"Character" 이름으로 설정해서 transfrom 0 0 0 으로해서 만들어준다

 

이미지와 캐릭터가 똑같은 이미지지만 생성되는 위치가 다름

2d sprite는 월드.. 캔버스는 ui라고 보면 됨

 

Sprite Renderer에 이미지 넣어주면 이런 애가 나옴

귀엽다 ㅎㅎ

 

캐릭터 이동에 관한 스크립트 작성 및 확인

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerCtrl : MonoBehaviour
{
    public float speed;
    // 인스펙터 창에서 설정하기 위해 public으로 작성

    private void Start()
    {
        Camera.main.transform.parent = transform;
        // 메인 카메라의 부모를 지정. 캐릭터가 메인 카메라의 부모가 되는 것. 이 transform은 캐릭터꺼
        Camera.main.transform.localPosition = new Vector3(0, 0, -10);
        // 캐릭터가 어떤 위치에서 생겨도 카메라 0으로 설정해주어야함
        // 2D는 z값이 필요 없지만, 카메라는 기본 z축이 -10임
    }

    private void Update()
    {
        Move();
    }

    // 캐릭터 움직임 관리
    void Move()
    {
        // 클릭했는지 판단
        if (Input.GetMouseButton(0))
        {
            Vector3 dir = (Input.mousePosition - new Vector3(Screen.width * 0.5f, Screen.height * 0.5f)).normalized;
            // 클릭한 값 - 스크린의 가운데 -> 어느 방향으로 터치를 했는지 알 수 있음
            // .normalized로 정규화. 방향 벡터로 바뀌어서 방향을 알 수 있음. dir에 저장
            transform.position += dir * speed * Time.deltaTime;
            // transform에 계속해서 추가. 기기마다 속도가 다를 수 있기 때문에 Time.deltaTime(실제시간)을 곱해줌
        }
    }
}

 

강의 인증샷

방향키 이동 스크립트는 짜봤었는데

터치 이동 스크립트는 처음 짜봐서 신기했다

복습해서 내 것으로 만들어야겠다 생각했다!

728x90
반응형