D分别命名为IDB_BMP_ANIMAL和IDB_BITMAP_3DFRAMES。
图4-10绘图图像
(2)绘图方案的设计
对于游戏的绘制实现,
这里采用内存位图映射的方式先将整个游戏区域的图像绘制到内存位图中
然后再一次性地将它拷贝到屏幕上予以显示如图4-11所示。
图4-11绘图方案设计流程图
(3)绘图资源的载入与初始化
根据图3-1.所示的描述方案,
可以在内存创建两个内存位图并对它们的图像进行载入。
在需要使用的时候,则可以从这些内存位图中直接去拷贝,
并绘制到游戏区域内存位图中去接下来添加关于绘图的成员变量
如下所示。
//内存位图属性组
CDCm_mem3DBkDC; //3D框架的内存设备环境
CBitmap m_mem3DBkBmp; //3D框架的内存位图
CDCm_memAnimalDC; //动物图像的内存设备环境
CBitmap m_memAnimalBmp; //动物图像的内存位图
CDCm_MemDC; //游戏区域内存设备环境
CBitmap m_memBitmap; //游戏区域内存位图
这里,
对3D框架位图以及动物图案位图分别创建了对应的设备环境m_mem3DBkDC和m_memAnimalDC
并且位它们分配了关联的内存位图变量m_mem3DBkBmp和m_memAnimalBmp。
而对于游戏区域的内存绘制,亦为它创建了一个内存设备环境m_MemDC以及关联的内存位图m_memBitmap。
在完成以上工作后,需要在程序开始运行的时候,
一次行对它们进行适当的初始化。
可以将这些绘图的具体初始化加载在CLinkToLinkDlg对话框类的初始话函数OnInitDialog中,
代码如下所示。
//获取程序框架的设备环境
CDC *pWinDC = GetDC();
//内存设备环境以及内存位图的创建,
初始化,关联
//3D方块边框图样内存位图
m_mem3DBkDC.CreateCompatibleDC(pWinDC);
m_mem3DBkBmp.LoadBitmap(IDB_BITMAP_3D_FRAMES);
m_mem3DBkDC.SelectObject(&m_mem3DBkBmp);
//动物图样内存位图
m_memAnimalDC.CreateCompatibleDC(pWinDC);
m_memAnimalBmp.LoadBitmap(IDB_BMP_ANIMAL);
m_memAnimalDC.SelectObject(&m_memAnimalBmp);
//整个游戏区域内存位图
m_MemDC.CreateCompatibleDC(pWinDC);
m_memBitmap.CreateCompatibleBitmap(pWinDC,
m_nCol*FRONTWIDTH+5,
m_nRow*FRONTHEIGHT+5);
m_MemDC.SelectO
上一篇:
VC设计简单的聊天室毕业论文设计
下一篇:
近三年来思想工作小结(德能勤绩廉)