qq空间全屏模式:全屏模式

  全屏模式是DirectDraw最常用方式各种用DX开发商业游戏大都采用全屏模式

   全屏模式下(游戏)应用界面占据了整个屏幕空间而且你几乎拥有了全部控制计算机进行绘图功能而对应地窗口模式只占据屏幕部分 2者区别个很重要的处就是:全屏模式下你可以设定屏幕分辨率(屏幕显示大小单位:像素)和色深上面谈到分辨率其实就是Windows分辨率通过右击桌面查看其显示属性可以获取它们如:

   320 x 240
   640 x 480
   800 x 600
   1024 x 76

   当然还不只这些,有些显卡支持60种以上显示模式显示模式=屏幕大小+色深组合色深定义了任时刻可以(通过编程手段)显示在屏幕上最大色彩总数它们遵循以下简单规则:

   色深数越高 = 运行速度越慢 + 视觉效果越好;
   色深数越低 = 运行得越快 + 视觉效果越差;

   记住这个对你编程时为你选择哪种显示方案很有用如果你游戏不打算使用高精度画面就不要设置过高色深这会使游戏运行速度打折扣下面列出了编程时可能使用到 4种色深:

   8 bit - 256色
   16 bit - 65536色
   24 bit - 16百万色 *
   32 bit - 16.7百万色 *(*表示相对占用较多系统资源)

   24位显示模式和32位真彩色显示模式的间差别其实很小些有关它们的间效果比较实验或许你可以发现这种差别

绘图页:
   这是你有能力开始写代码任何实际代码的前要明白最后件事情DDraw使用种叫\"绘图页\"机制来承载图片信息其实绘图页实际表示内存中某块特定(图片数据)存储区为便于理解你可以把绘图页通俗地想象成内存中张白纸向这张白纸上作贴图操作后绘图页中便有了这个图片所有数据这个绘图页便代表了这个图片因此每个绘图页可以是区别大小绘图页可以通过加载硬盘里张图片来填冲也可以在系统后缓冲区由几张图片拼接形成通过下面学习你将会对它们有个更清认识但是到现在为止你只要弄清主绘图页和后缓冲区绘图页概念就行了存储在主绘图页任何内容都是屏幕当前实际显示内容在DX全屏模式下主绘图页大小和屏幕大小等同后缓冲区绘图页就是被设置成下帧(或下屏)要显示页面内容但是它在没有被设置成主绘图页的前仅仅存在系统缓冲区内

   DX中引入后缓冲区绘图页可以防止屏幕闪烁如何理解呢?直接向主绘页图页贴图固然行得通但当不断地向个主绘图页贴大量图片时(用静图制作动画效果时)或者当主绘图页由大量小图组合而成情况下直接在主绘图页上作拼接操作(主绘图页可能是由各种Tiles拼接起来地图背景)由于主绘图页内容会即时地显示在屏幕上这 2种情况下屏幕显示就会出现闪烁或延迟而后缓冲区绘图页就解决了这个问题首先这些小图可以先在内存中组合成张大图贴在后缓冲区绘图页里再把这个后缓冲区绘图页设置成主绘图页(术语称把后缓冲区绘图页拷贝到主绘图页中是些页面复制来实现后面会讲到)这样就不会出现闪烁问题了
Tags:  qq空间全屏皮肤代码 不允许使用全屏模式 全屏模式皮肤 qq空间全屏模式

延伸阅读

最新评论

发表评论