对于c++的Windows游戏编程,他的基本原理我总结了一下,主要是由三缓冲体系的创建,然后载入位图到句柄中,想要绘制什么就先SelectObject然后接着写上对应的绘图函数。代码如下
HDC g_hdc=NULL,g_mdc=NULL,g_bdc=NULL;//先创建三个HDC缓冲对象
HBITMAP hBitmap;
g_hdc=GetDC(hWnd);//获取设备环境句柄
g_mdc=CreateCompatibleDC(g_hdc);//创建一个和g_hdc兼容的内存DC</span>
g_bdc=CreateCompatibleDC(g_hdc);
hBitmap=CreateCompatibleBitmap(g_hdc,800,600);//创建一个很窗口兼容的空位图对象
SelectObject(g_mdc,hBitmap);//将位图放在g_mdc中
这几部就是三缓冲体系的创建.接着创建好了好了要怎么使用呢。比如我们要将一张图片绘制到窗口,我们只需这样
electObject(g_bdc,bitmap);//bitmap代表位图对象,指将要绘制的图片.放入g_bdc中.
Bitble(g_mdc,0,0,WIN_WIDTH,WIN_HIGHT,g_bdc,0,0,SRCCOPY);//将g_bdc放到g_mdc中
Bitble(g_hdc,0,0,WIN_WIDTH,WIN_HIGHT,g_mdc,0,0,SRCCOPY);//最后将g_mdc放入g_hdc中,这样就可以将图片显示在窗口中
最后记得程序结束时释放资源,DeleteDC();
三缓冲体系可以让画面显示得更加平滑,其实就是在双缓冲的基础上再用CreateCompatibleDC再创建一层缓冲区,这样用起来非常方便.
三缓冲也很简单,也没什么好讲的,主要是多运用。还有对windowsAPI绘图熟悉,这样写个2D游戏是不困难的.