연속적으로 키 값을 받아들일때 어떤게 더 낫나요?
해찬나래
예로 게임속에 케릭터를 이동시킨다고 했을때 getch로 읽거나 GetAsyncKeyState를 쓰잖아요 그런데 전자는 연속적인 키 값은 읽을때 딜레이가 생기는거 같고 또 동시에 2가지 이상의 키눌림상태를 확인을 못해서 후자가 쓰인다고 하는데, 후자를 쓸때 고려 해야 하는거라던가 뭐 그런게 잇나요?
getch로 키 값을 읽거나 GetAsyncKeyState로 키 눌림 상태를 확인하는 두 가지 방법중에 어떤게 낫나요?? (순위를 메기자면;;)
-
동백
아 한가지더 스페이스키가 눌린상태에서 다른키가 눌린걸 확인하려면 스페이스키 안에 if문을 한개 더 만들어 주면됩니다..
다른방법도 더 있긴하죠..&연산을 이용해서 두키가 참이면 실행되게도 만들수 있구요.. -
햇님
if
else if문으로 짜시면 안될겁니다..왜나면 한개만 실행이 되기때문이죠..
전부다 if문으로만 이루어지면 스페이스눌린상태에서도 다른키도 눌리겠죠? -
라이브라
단순히 if(GetAsyncKeyState(VK_SPACE) & 0x80) 은 스페이스바가 눌려졌으면 참이 아닌가요?? 눌려졌을때 MSB만을 보기 위해 0x80과 &연산 해주는거 아닌가요??;; 그런데 이게 잘 안되서요. 스페이스바 눌려졌을때 if문 아래의 문장이 실행이 안되요
-
미나래
본문도 첨부해주세요;;
-
꽃
에이스 // 감사합니다. 괜한 순위짓 했네요ㅎ
한가지만더 물어볼꼐요 GetAsyncKeyState(VK_~~) & 0x80을 하면 키가 눌려져 있을때 참이 되는거 아닌가요? 그래서 if( 여기에 ) 넣어서 키가 눌려지면 어떤작업을 하려는건데 잘 안되요; -
별글
getch : 커서가 나와서 어떠한 수치나 문자를 입력받아야 하는 경우. 천천히 해도 되는 경우.
GetAsyncKeyState : 커서가 없이 게임에서처럼 여러 개의 키를 동시에 받거나 하는 경우. 빨라야 하는 경우.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698342 | 프로그램 질문점녀 (4) | 데빌의눈물 | 2025-06-16 |
2698318 | 파일 입출력 질문입니다~ (2) | 꽃 | 2025-06-15 |
2698291 | 문자 출력 함수 : putchar, fputc에 관하여. | 으뜸 | 2025-06-15 |
2698261 | 씨언어 (1) | 마리 | 2025-06-15 |
2698212 | 구조체, 포인터가 같이 들어간 프로그램 소스코드 있으신분? (4) | 그림자 | 2025-06-14 |
2698184 | 간단한 C언어 인데 .. | 붕붕 | 2025-06-14 |
2698120 | -연산자 가 먼지 좀 알려주세요 (1) | 낮선검객 | 2025-06-14 |
2698091 | 길찾기문제 질문이요! | 노을빛 | 2025-06-13 |
2698060 | while 문에 대한 질문입니다. (9) | 물고기자리 | 2025-06-13 |
2698012 | 2~9가아닌수 | 아놀드 | 2025-06-13 |
2697980 | for에 gets함수를 넣으니까 왜 반복이 안되죠 ㅜ (2) | 펴라 | 2025-06-12 |
2697952 | 2차배열과 함수문의^^; | VanilLa | 2025-06-12 |
2697924 | 다차원 배열 질문있습니다 | 두동 | 2025-06-12 |
2697893 | 정올 :: 기초다지기 a9007 배열7 (문제가 이상함 -_-) | 흰두루 | 2025-06-12 |
2697862 | Unable......... 지정된 파일을 찾을 수 없습니다!! (1) | Creator | 2025-06-11 |
2697761 | 그러니까여제말은... (2) | 새론 | 2025-06-10 |
2697737 | 정올 문제좀 풀어보신분~ | 레오 | 2025-06-10 |
2697709 | rand함수 질문좀요! (6) | 가막새 | 2025-06-10 |
2697683 | C언어 변수뒤 표시가 이해안되는게 있습니다. | 소미 | 2025-06-10 |
2697660 | 껍데기딜 만들고 난후 어느핫키 누르면 코드검색이라도 뜨고 그다음 무반응 해결좀 (2) | 움찬 | 2025-06-09 |