void get_Input() { fire_Clock_cur = clock(); ice_Clock_cur = clock(); treat_Clock_cur = clock(); shanxian_Clock_cur = clock(); if (GetAsyncKeyState('W') & 0x8000) { cout << "上键被按下" << endl; input |= Up; } if (GetAsyncKeyState('S') & 0x8000) { cout << "下键被按下" << endl; input |= Down; } if (GetAsyncKeyState('A') & 0x8000) { cout << "左键被按下" << endl; input |= Left; } if (GetAsyncKeyState('D') & 0x8000) { cout << "右键被按下" << endl; input |= Right; } if (GetAsyncKeyState('Q') & 0x8000&&(ice_Clock_cur-ice_Clock_Start)>10000) { ice_Clock_Start = clock(); input |= DecelerateBullet; } if (GetAsyncKeyState('E') & 0x8000&&(fire_Clock_cur-fire_Clock_Start)>10000) { fire_Clock_Start = clock(); input |= FireBullet; } if (GetAsyncKeyState('R') & 0x8000&&(shanxian_Clock_cur-shanxian_Clock_Start)>10000) { shanxian_Clock_Start = clock(); input |= Teleporting; } if (GetAsyncKeyState('G') & 0x8000&&(treat_Clock_cur-treat_Clock_Start)>10000) { treat_Clock_Start = clock(); input |= RestoreHP; } ExMessage msg; peekmessage(&msg,EM_MOUSE); if(msg.message==WM_LBUTTONDOWN) { Mouse_X = msg.x; Mouse_Y = msg.y; cout << "X:" << Mouse_X << "Y:" << Mouse_Y << endl; input |= MouseLeftBUTTON; } if (msg.message==WM_RBUTTONUP) { cout << "右键被按下" << endl; input |= MouseRightBUTTON; } if (GetAsyncKeyState(VK_SPACE) & 0x8000) { input |= Space; } if (GetAsyncKeyState(VK_ESCAPE) & 0x8000) { input |= Esc; } }
时间: 2024-01-29 14:03:53 浏览: 106
wuziqi.rar_aero_link_xl.cur_wuziqi
这段代码是一个函数,用于获取玩家的输入。该函数首先获取当前系统时间,然后检查键盘上的W、S、A、D、Q、E、R、G、空格、ESC键以及鼠标左右键是否被按下。如果某个键被按下,就将变量input的相应位设置为1,表示玩家执行了该操作。
其中,Q、E、R、G键和鼠标左键都设置了一个冷却时间,即在一定时间内只能按一次。当冷却时间过去后,再次按下键才会生效。
最后,该函数使用peekmessage函数获取鼠标事件消息,并判断是否有鼠标左右键被按下。如果鼠标左键被按下,就获取鼠标的坐标,并将变量input的相应位设置为1。如果鼠标右键被按下,就将变量input的MouseRightBUTTON位设置为1。
需要注意的是,该函数中的变量input的具体含义和用途没有在代码中给出,因此无法确定这些操作的实际目的。
阅读全文