inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

유니티 2D 로그라이크 게임 만들기 [한글자막]

Player Script (플레이어 캐릭터를 위한 스크립트 만들기)

키보드 입력에 대한 질문

509

Peng

작성한 질문수 2

0

영상에는 없지만 이동 시 한박자 늦게 이동되는데 어째서 이렇게 되는지 알 수 있을까요?

private void Update()
    {
        // 플레이어의 턴인지 체크
        if (!GameManager.instance.playerTurn) return;   // 플레이어 턴이 아니면 이하 코드들이 안돔

        // 이동 구현
        int horizontal = 0;     // 가로 방향
        int vertical = 0;       // 세로 방향

        horizontal = (int)Input.GetAxis("Horizontal");
        vertical = (int)Input.GetAxis("Vertical");

        if (horizontal != 0) vertical = 0; // 가로로 움직이면 세로로 움직임 정지, 대각선 이동 방지

        // 둘 중에 하나가 0이 아니면 플레이어가 움직임
        // 일반형 변수 Wall을 넣은 이유는 상호작용할 수 있는 벽에 닿을지도 모르기에...
        // 이런 식으로 일반형 T는 함수를 호출할 때 상호작용할 컴포넌트를 특정할 수 있음
        // 적의 경우 플레이어와 상호작용할 것이 예상되니 특정할 수 있을 것
        if (horizontal != 0 || vertical != 0) AttemptMove<Wall>(horizontal, vertical);
    }

플레이어 이동 시 키보드 입력을 받는 부분은 위와 같습니다.

unity

답변 1

1

Peng

해결했습니다... 찾아보니 바로 나오네요;;

입력을 담당하는 코드인 Input.GetAxis는 소숫점 단위로 값을 오르내리는데 값이 1로 도달할 때 까지 반응이 없었던게 원인이였습니다.

입력한 즉시 반응을 보고 싶다면 GetAxisRaw 함수를 사용하는게 좋다고 합니다. 이 함수는 누른 즉시 정수값을 내보내여 -1 <-> 0 <-> 1 로 빠른 입력 반응을 체크할 수 있습니다.

UI 기능 관련 질문이 있습니다!

0

24

2

03-01 (16. CharacterController)

0

23

2

TLS 질문드립니다.

0

34

2

Task 구현 28:36 Equals 에서 잘 모르는 부분이 있습니다.

0

20

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

39

2

픽셀 좌표 스크린 좌표

0

26

0

Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?

0

19

1

LobbyUIController의 백키가 사라졌는데 왜그런건가요?

0

37

2

무조건 타이틀 씬부터 시작해야하나요?

0

35

1

BaseUI, UIManager

0

43

3

프로젝트 완성본 문의

0

37

2

Unity Span

0

65

2

씬 배치 구조에서 Addressables를 어떻게 적용해야 하는지 궁금합니다.

0

49

1

에셋이 없는데 어떻게 해야하나요?

0

51

1

플레이에는 문제가 없는데 빌드에서 문제가 계속해서 발생하네요.

0

379

1

플레이어 캐릭터나 적이 이동하는게 느리네요

0

506

1

gamemanager 질문

1

308

0

Loader에서 정적변수(static)를 읽지를 못하네요.

0

593

1

랜덤선택이 궁금해요

0

248

1

Soda의 layer

0

188

0

I don&#039;t know about this

0

252

1

OutOfMemoryException이 나는데 어떻게 해결하면 될까요

0

587

0

다들 못찾으시는거같아서

20

942

5

드래그 자체가 전 안되는데 혹시 방법 알 수 있을까요?

0

354

1