这次仍然是来直接看代码:
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ){return -1 ;}
SetDrawScreen( DX_SCREEN_BACK );//设置双缓冲。如果你不懂什么是双缓冲,请自己搜索百度谷歌。
int gh ;
int x, y;
x = 200;
y = 150;
int i;
gh = LoadGraph( "chip.bmp" ) ;
char Key[256];//存储键盘输入
//无限循环。但是你不需要担心会将CPU消耗殆尽。每次循环为1帧。
for(;;)
{
GetHitKeyStateAll(Key);//获取键盘按键记录
//图片移动。每帧x坐标向移2像素,y坐标向下移动1像素
x += 2;
y += 1;
DrawGraph(x, y, gh, TRUE);
ScreenFlip();//将双缓冲的背面图像与前端图像交换
ClearDrawScreen();//将原先的前端图像清空
if(Key[KEY_INPUT_ESCAPE] == 1){
break;//如果按下了ESC键,即退出程序
}
if(ProcessMessage() == -1){
break;//程序终止指令
}
}
WaitKey() ;
DxLib_End() ;
return 0 ;
}
练习作业:请使敌机绕着正方形移动。相信这个简单的任务也无法难倒聪明的你!