时间:2021-07-01 10:21:17 帮助过:12人阅读
http://dixq.net/rp/2.html 首先运行一下看看吧。项目的 main.cpp 就是 游戏编程教室里有说到过的 “ 每次都要写的程序的基本框架” ,然后点击编译,运行一下这个程序。 ————————————————————————————————————————
http://dixq.net/rp/2.html
首先运行一下看看吧。项目的 main.cpp 就是 游戏编程教室里有说到过的 “ 每次都要写的程序的基本框架” ,然后点击编译,运行一下这个程序。
——————————————————————————————————————————————————————————————————
————main.cpp 的改动——————
#define GLOBAL_INSTANCE #include "../include/GV.h" int Key[256]; int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[]){ char GetHitKeyStateAll_Key[256]; GetHitKeyStateAll( GetHitKeyStateAll_Key ); for(int i=0;i<256;i++){ if(GetHitKeyStateAll_Key[i]==1) GetHitKeyStateAll_InputKey[i]++; else GetHitKeyStateAll_InputKey[i]=0; } return 0; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初始化和设置双缓冲屏幕 while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){ //↑消息処理 ↑清除屏幕 ↑保存按键输入 ↑没有按ESC键 //这里!! ScreenFlip(); } DxLib_End(); return 0; }
注:
这里为初学者和像我一样不愿研究代码的人做一点简单的代码说明。
主要是保存按键输入的函数。首先主函数里调用了上面的函数,传入的参数是定义的全局变量数组Key [256]
在上面的函数里,定义了个char 数组,然后传给系统函数GetHitKeyStateAll_Key,获得按键状态。
然后遍历一遍char数组,转存到int 数组,把对应的 按键在int数组里 ++,没有按就清零。(完毕,虽然感觉这两个数组来转存有点绕的感觉)
好了,窗口就调出来了,按ESC的话,就会退出。
到此为止,你如果进行很顺利的话,准备工作就完毕了