GameInit()
{
创建主表面:
生成lldsprimary主表面指针
设置兼容性
设置模式
生成表面
含有参数设置,用于创建相关联的缓冲表面;
创建缓冲表面:
1、设置色彩键
设置色彩键应在建立表面时应用
2、如果色彩深度是8—bits
设置调试板
定义调色板
给调试版赋值
将调色板关联到相应界面
.....
3、lock缓冲界面并绘图
unlock()
定义剪裁器:用于规于某一表面的显示区域,超出部分将不予显示(所以应先建立某一表面)
1、创建剪裁器接口对象
2、将剪裁举行与某一表面相对应
加载位图:
如果有用到位图,需要加载位图,加载位图的一系列操作...
离屏表面:
对于一个动画,通常会需要多个离屏表面,所以这里会建立生成多个离屏表面,并对各个表面绘图,用于动画的基本单位
创建离屏表面和后备表面方式基本相同,只是个别参数的设置的不同,当然二者的用途会有不同;
通常会设置原色彩键
}
GameMain()
{
处理游戏逻辑
....
这里主要是根据逻辑实现位图的传送;
所以Blt()函数的在这里非常重要,可以将多个离屏表面传送到同一个表面(缓冲表面),这也是同一背景上有多个运动物体的关键;
只要各传送对象的目标矩形的位置不同即可
初始化缓冲表面之后,接下来就是flip()了,切换显示表面
}