저는 게임에서 돈을 증가시키기 위해 키보드 스트로크를 얻기 위해 _getch를 사용하려고합니다. 돈을 더 빨리 증분하려면 10 초 동안 교대를 유지하고 100의 통제는 그 일을하는 가장 좋은 방법 일 것입니다. 만약 내가 교대조를 확인한다면 그것은 충분히 쉽다. 그러나 내가 교대조를 확인하고 싶다면 나중에 통제가 작동하지 않을 것이다. 100의에 대한 제어를 위해 작동하지 않을 경우 내가 다른 추가하면Shift 키를 누른 상태에서 각 입력에 대해 컨트롤을 누른 상태를 확인하는 방법이 있습니까?
는 1 또는 10로 증가하는 검사를 예를 들어 나는이
key = _getch();
if (key == 224)
{
key = _getch();
if (key == 75) // left arrow
{
if (GetAsyncKeyState(VK_SHIFT)
for (int i = 0; i < 10; i++) // go left 10 times
left();
else
left();
}
}
같은 것을 할 것입니다. 대부분의 경우 GetAsyncKeyState 기능을 다시 실행하면 키 상태를 제대로 읽지 못하기 때문일 수 있습니다.
else if (GetAsyncKeyState(VK_CONTROL)
for (int i = 0; i < 100; i++) // go left 100 times
left();
가능한 모든 해결 방법은 있습니까? 감사!
전체 사용 사례를 알려주면 여기 프로그래머가 GetAsyncKeyState()를 사용하는 것보다 더 나은 방법으로 도움을 줄 수 있습니다. –
사람들이 내가하는 일을 오해하고있는 것처럼 보입니다. 프로그램에서 수정 자없이 1 씩 카운터를 증가시키고 시프트가 유지되면 10을, 컨트롤이 유지되면 100 씩 증가시킵니다. 키보드를 사용하지 않고 if, else if를 수행하고 else, shift 및 control을 점검합니다. 말이 돼? – Alex