DarkGDK 获取键盘输入-----dbKeyState()_第1页
DarkGDK 获取键盘输入-----dbKeyState()_第2页
DarkGDK 获取键盘输入-----dbKeyState()_第3页
DarkGDK 获取键盘输入-----dbKeyState()_第4页
DarkGDK 获取键盘输入-----dbKeyState()_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DarkGDK 获取键盘输入-dbKeyState();2012-06-20 14:42:00分类: C/C+在使用DarkGDK编写游戏时,时常要用键盘和玩家进行交互,我们可以通过dbKeyState()函数来让玩家按下特定的键,去执行特定的代码。1 #include DarkGDK.h23 void DarkGDK()4 5 dbSyncOn(); /从现在开始由程序主动控制屏幕刷新6 dbSyncRate(60); /设置刷新频率为60次每秒7 while(LoopGDK() & !dbKeyState(0x11) /执行游戏循环,当用户按下w键时推出永久循环8 ;/空语句9 10 db

2、KeyState(int KeyBorad_ID); 只要找到每个键对应的ID就可以完成键盘相应。每个键对应的ID可以再DirectixSDK下的include/dinput.h文件中找到。列出一些键盘的对应ID(其实就是一些宏)点击(此处)折叠或打开11 /*12 *13 *DirectInput keyboard scan codes14 *15 */16 #define DIK_ESCAPE 0x0117 #define DIK_1 0x0218 #define DIK_2 0x0319 #define DIK_3 0x0420 #define DIK_4 0x0521 #define

3、DIK_5 0x0622 #define DIK_6 0x0723 #define DIK_7 0x0824 #define DIK_8 0x0925 #define DIK_9 0x0A26 #define DIK_0 0x0B27 #define DIK_MINUS 0x0C /* - on main keyboard */28 #define DIK_EQUALS 0x0D29 #define DIK_BACK 0x0E /* backspace */30 #define DIK_TAB 0x0F31 #define DIK_Q 0x1032 #define DIK_W 0x1133 #

4、define DIK_E 0x1234 #define DIK_R 0x1335 #define DIK_T 0x1436 #define DIK_Y 0x1537 #define DIK_U 0x1638 #define DIK_I 0x1739 #define DIK_O 0x1840 #define DIK_P 0x1941 #define DIK_LBRACKET 0x1A42 #define DIK_RBRACKET 0x1B43 #define DIK_RETURN 0x1C /* Enter on main keyboard */44 #define DIK_LCONTROL 0

5、x1D45 #define DIK_A 0x1E46 #define DIK_S 0x1F47 #define DIK_D 0x2048 #define DIK_F 0x2149 #define DIK_G 0x2250 #define DIK_H 0x2351 #define DIK_J 0x2452 #define DIK_K 0x2553 #define DIK_L 0x2654 #define DIK_SEMICOLON 0x2755 #define DIK_APOSTROPHE 0x2856 #define DIK_GRAVE 0x29 /* accent grave */57 #d

6、efine DIK_LSHIFT 0x2A58 #define DIK_BACKSLASH 0x2B59 #define DIK_Z 0x2C60 #define DIK_X 0x2D61 #define DIK_C 0x2E62 #define DIK_V 0x2F63 #define DIK_B 0x3064 #define DIK_N 0x3165 #define DIK_M 0x3266 #define DIK_COMMA 0x3367 #define DIK_PERIOD 0x34 /* . on main keyboard */68 #define DIK_SLASH 0x35 /

7、* / on main keyboard */69 #define DIK_RSHIFT 0x3670 #define DIK_MULTIPLY 0x37 /* * on numeric keypad */71 #define DIK_LMENU 0x38 /* left Alt */72 #define DIK_SPACE 0x3973 #define DIK_CAPITAL 0x3A74 #define DIK_F1 0x3B75 #define DIK_F2 0x3C76 #define DIK_F3 0x3D77 #define DIK_F4 0x3E78 #define DIK_F5

8、 0x3F79 #define DIK_F6 0x4080 #define DIK_F7 0x4181 #define DIK_F8 0x4282 #define DIK_F9 0x4383 #define DIK_F10 0x4484 #define DIK_NUMLOCK 0x4585 #define DIK_SCROLL 0x46 /* Scroll Lock */86 #define DIK_NUMPAD7 0x4787 #define DIK_NUMPAD8 0x4888 #define DIK_NUMPAD9 0x4989 #define DIK_SUBTRACT 0x4A /*

9、- on numeric keypad */90 #define DIK_NUMPAD4 0x4B91 #define DIK_NUMPAD5 0x4C92 #define DIK_NUMPAD6 0x4D93 #define DIK_ADD 0x4E /* + on numeric keypad */94 #define DIK_NUMPAD1 0x4F95 #define DIK_NUMPAD2 0x5096 #define DIK_NUMPAD3 0x5197 #define DIK_NUMPAD0 0x5298 #define DIK_DECIMAL 0x53 /* . on nume

10、ric keypad */99 #define DIK_OEM_102 0x56 /* or | on RT 102-key keyboard (Non-U.S.) */100 #define DIK_F11 0x57101 #define DIK_F12 0x58102 #define DIK_F13 0x64 /*(NEC PC98) */103 #define DIK_F14 0x65 /*(NEC PC98) */104 #define DIK_F15 0x66 /*(NEC PC98) */105 #define DIK_KANA 0x70 /* (Japanese keyboard

11、)*/106 #define DIK_ABNT_C1 0x73 /* /? on Brazilian keyboard */107 #define DIK_CONVERT 0x79 /* (Japanese keyboard)*/108 #define DIK_NOCONVERT 0x7B /* (Japanese keyboard)*/109 #define DIK_YEN 0x7D /* (Japanese keyboard)*/110 #define DIK_ABNT_C2 0x7E /* Numpad . on Brazilian keyboard */111 #define DIK_

12、NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */112 #define DIK_PREVTRACK 0x90 /* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */113 #define DIK_AT 0x91 /*(NEC PC98) */114 #define DIK_COLON 0x92 /*(NEC PC98) */115 #define DIK_UNDERLINE 0x93 /*(NEC PC98) */116 #define DIK_KANJI 0x94 /*

13、(Japanese keyboard)*/117 #define DIK_STOP 0x95 /*(NEC PC98) */118 #define DIK_AX 0x96 /*(Japan AX) */119 #define DIK_UNLABELED 0x97 /*(J3100) */120 #define DIK_NEXTTRACK 0x99 /* Next Track */121 #define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */122 #define DIK_RCONTROL 0x9D123 #define DIK_MU

14、TE 0xA0 /* Mute */124 #define DIK_CALCULATOR 0xA1 /* Calculator */125 #define DIK_PLAYPAUSE 0xA2 /* Play / Pause */126 #define DIK_MEDIASTOP 0xA4 /* Media Stop */127 #define DIK_VOLUMEDOWN 0xAE /* Volume - */128 #define DIK_VOLUMEUP 0xB0 /* Volume + */129 #define DIK_WEBHOME 0xB2 /* Web home */130 #

15、define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */131 #define DIK_DIVIDE 0xB5 /* / on numeric keypad */132 #define DIK_SYSRQ 0xB7133 #define DIK_RMENU 0xB8 /* right Alt */134 #define DIK_PAUSE 0xC5 /* Pause */135 #define DIK_HOME 0xC7 /* Home on arrow keypad */136 #define DIK_UP 0xC8 /

16、* UpArrow on arrow keypad */137 #define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */138 #define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */139 #define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */140 #define DIK_END 0xCF /* End on arrow keypad */141 #define DIK_DOWN 0xD0 /* DownArrow on arrow keypa

17、d */142 #define DIK_NEXT 0xD1 /* PgDn on arrow keypad */143 #define DIK_INSERT 0xD2 /* Insert on arrow keypad */144 #define DIK_DELETE 0xD3 /* Delete on arrow keypad */145 #define DIK_LWIN 0xDB /* Left Windows key */146 #define DIK_RWIN 0xDC /* Right Windows key */147 #define DIK_APPS 0xDD /* AppMen

18、u key */148 #define DIK_POWER 0xDE /* System Power */149 #define DIK_SLEEP 0xDF /* System Sleep */150 #define DIK_WAKE 0xE3 /* System Wake */151 #define DIK_WEBSEARCH 0xE5 /* Web Search */152 #define DIK_WEBFAVORITES 0xE6 /* Web Favorites */153 #define DIK_WEBREFRESH 0xE7 /* Web Refresh */154 #defin

19、e DIK_WEBSTOP 0xE8 /* Web Stop */155 #define DIK_WEBFORWARD 0xE9 /* Web Forward */156 #define DIK_WEBBACK 0xEA /* Web Back */157 #define DIK_MYCOMPUTER 0xEB /* My Computer */158 #define DIK_MAIL 0xEC /* Mail */159 #define DIK_MEDIASELECT 0xED /* Media Select */160161 /*162 *Alternate names for keys,

20、 to facilitate transition from DOS.163 */164 #define DIK_BACKSPACE DIK_BACK /* backspace */165 #define DIK_NUMPADSTAR DIK_MULTIPLY /* * on numeric keypad */166 #define DIK_LALT DIK_LMENU /* left Alt */167 #define DIK_CAPSLOCK DIK_CAPITAL /* CapsLock */168 #define DIK_NUMPADMINUS DIK_SUBTRACT /* - on numeric keypad */169 #define DIK_NUMPADPLUS DIK_ADD /* + on numeric keypad */170 #define DIK_NUMPADPERIOD DIK_DECIMAL /* . on numeric keypad */171 #define DIK_NUMPADSLASH DIK_DIVIDE /*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论