Unity
c# / Unity 키보드 입력 감지
위즈밈
2022. 9. 29. 14:34
반응형
키보드 입력을 감지해야될 때는 아주 많다.
유니티에서는 보통 Input.GetKey 함수를 사용하게 되는데
이 함수의 단점은... 프로그램이 포커스 잡혀있지 않으면 반응을 안한다는 점이다.
이럴 때 해결방법은 GetAsyncKeyState 함수를 사용하는 것.
유니티에서도 사용이 가능하다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public enum MyKeyCode
{
VK_LEFT = 0x25,
VK_UP = 0x26,
VK_RIGHT = 0x27,
VK_DOWN = 0x28
}
[DllImport("user32.dll")]
public static extern short GetAsyncKeyState(int button);
static void Main(string[] args)
{
if (GetAsyncKeyState((int)MyKeyCode.VK_LEFT) == -32767)
{
//LeftMove();
}
}
|
cs |
위 코드에서 -32767은 키보드가 눌린 시점을 의미한다.
키 코드는 여기를 참조하면 된다.
반응형