C/C++言語でRPGを作ってみるスレ2
レス数が950を超えています。1000を超えると書き込みができなくなります。
0969デフォルトの名無しさん
2005/11/28(月) 05:00:25>>967のリンクみたいに自分でコンソールとやり取りするのは大変・・・
なのでよかったらこれドゾー
//MapVirtualKey用
#include <windows.h>
//getch or getche用
#include <conio.h>
int my_getch(void)
{
unsigned char c = _getch();
if(c != 0 && c != 0xe0) return -1;
c = _getch();
return (int)::MapVirtualKey((UINT)c,1);
}
getchがスキャンコードを返してきたときだけ仮想キーコードにして返す関数でつ。
普通の'a'とか'1'なんかだと-1が返ってきまつ。ちなみに矢印キーとかの仮想キーコードはこれ。
VK_PRIOR(PageUp) -> 0x21 VK_NEXT(PageDown) -> 0x22
VK_END -> 0x23 VK_HOME -> 0x24
VK_LEFT -> 0x25 VK_UP -> 0x26
VK_RIGHT -> 0x27 VK_DOWN -> 0x28
あと、MapVirtualKeyはuser32.dllに入ってるのでuser32.libのリンクをお忘れなく。
VC使ってるならこんな感じ。他はシラネ。
cl test.cpp -link user32.lib
これならWinAPIのMapVirtualKey一つ使うだけなんでAllocConsole系よりかはまだ使いやすいかと。
レス数が950を超えています。1000を超えると書き込みができなくなります。