demo713总结

GameInit()
{
    创建主表面:
    生成lldsprimary主表面指针
    设置兼容性
    设置模式
    生成表面
    含有参数设置,用于创建相关联的缓冲表面;
 创建缓冲表面:
    1、设置色彩键
           设置色彩键应在建立表面时应用
    2、如果色彩深度是8—bits 
            设置调试板 
          定义调色板
       给调试版赋值
       将调色板关联到相应界面
       .....
    3、lock缓冲界面并绘图
       unlock()
    定义剪裁器:用于规于某一表面的显示区域,超出部分将不予显示(所以应先建立某一表面)
    1、创建剪裁器接口对象
    2、将剪裁举行与某一表面相对应
 
    加载位图:
    如果有用到位图,需要加载位图,加载位图的一系列操作...

    离屏表面:
     对于一个动画,通常会需要多个离屏表面,所以这里会建立生成多个离屏表面,并对各个表面绘图,用于动画的基本单位
     创建离屏表面和后备表面方式基本相同,只是个别参数的设置的不同,当然二者的用途会有不同;
        通常会设置原色彩键

}
GameMain()
{

   处理游戏逻辑
  
 
   ....
   这里主要是根据逻辑实现位图的传送;

   所以Blt()函数的在这里非常重要,可以将多个离屏表面传送到同一个表面(缓冲表面),这也是同一背景上有多个运动物体的关键;
  
   只要各传送对象的目标矩形的位置不同即可

   初始化缓冲表面之后,接下来就是flip()了,切换显示表面  

}

原文地址:https://www.cnblogs.com/orangeblog/p/2812137.html