1.双缓冲绘图
解决绘图放到循环里,在画面中的显示弊端;原理就是在内存中开出一片缓冲区,先在里面画图,用的时候一起拿过来,就不会出现“现实弊端”了;
BeginBatchDraw();
while (1)
{
gameDraw();
FlushBatchDraw();
}
EndBatchDraw();
如果中间不加FlushBatchDraw();就会出现黑屏,相当于只是在缓冲区画图了,但是没拿过了用;
2._getch();
使用头文件#include<conio.h>
不需要enter,一直跑,并且会等待下次输入,不输入会卡住程序;
用_getch();来获取键盘输入,控制移动,优点:简单直白;写起来不带脑子;
缺点,反应太low了;带有输入法的弊端(例如,长按d,它会先输入一个d,等带那么一内内时刻,才会一直输入dddddd),并且无法斜着走!(太影游戏体验了,差评!)
上下移动需要理解窗口的坐标系,注意;
3._kbhit();
好像不知道有啥用。。。;
4. GetAsyncKeyState();
这是window函数,调用了api接口,强大无比——可以丝滑般的移动!!斜着走也可以的!;
注意,写的时候,判断的字母只需要写大写的即可,并且该函数也只能识别大写的字母,但是输入的字母可以大小写通吃;GetAsyncKeyState('W'),即可获得’W‘和’w‘的输入;
哇塞,这个太流畅了,选他!