原文地址:
首先运行一下看看吧。项目的 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的话,就会退出。
到此为止,你如果进行很顺利的话,准备工作就完毕了
本人CSDN博客目录: