키보드 입력에 대한 질문
522
작성한 질문수 2
영상에는 없지만 이동 시 한박자 늦게 이동되는데 어째서 이렇게 되는지 알 수 있을까요?
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);
}
플레이어 이동 시 키보드 입력을 받는 부분은 위와 같습니다.
답변 1
1
해결했습니다... 찾아보니 바로 나오네요;;
입력을 담당하는 코드인 Input.GetAxis는 소숫점 단위로 값을 오르내리는데 값이 1로 도달할 때 까지 반응이 없었던게 원인이였습니다.
입력한 즉시 반응을 보고 싶다면 GetAxisRaw 함수를 사용하는게 좋다고 합니다. 이 함수는 누른 즉시 정수값을 내보내여 -1 <-> 0 <-> 1 로 빠른 입력 반응을 체크할 수 있습니다.
ResourceManager 클래스 관련 질문
1
25
2
FBX chan 모델
0
16
1
첨부된 수업자료와 강의 내용이 다릅니다.
0
39
2
몬스터 HP 게이지바 이동
0
20
1
TextMeshPro용 커스텀 한글 2350자.txt 파일은 어디에 있나요?
0
22
1
02-02 NavMesh 응용 캐릭터 멈춤 문제
0
33
1
02-02 NavMesh 응용 캐릭터 멈춤 문제
0
41
2
C#에서의 RAII
0
64
3
Scene 뷰에서 Enemy Entity가 보이지 않는 문제
0
47
2
Lessons 3 & 4 don't have subtitles unfortunately
0
39
1
클로드코드 + 유니티 컨텐츠만들기 응용에 대하여 질문드립니다.
0
67
1
매니저 관련 질문이 있습니다.
0
69
2
Instantiate
0
48
2
에셋이 없는데 어떻게 해야하나요?
0
67
1
플레이에는 문제가 없는데 빌드에서 문제가 계속해서 발생하네요.
0
393
1
플레이어 캐릭터나 적이 이동하는게 느리네요
0
527
1
gamemanager 질문
1
314
0
Loader에서 정적변수(static)를 읽지를 못하네요.
0
600
1
랜덤선택이 궁금해요
0
258
1
Soda의 layer
0
195
0
I don't know about this
0
260
1
OutOfMemoryException이 나는데 어떻게 해결하면 될까요
0
594
0
다들 못찾으시는거같아서
20
970
5
드래그 자체가 전 안되는데 혹시 방법 알 수 있을까요?
0
360
1





