频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

.Net Framework智能版开发移动游戏

来源:yesky 作者:WAYNE 郭磊 出处:巧巧读书 2005-12-30 进入讨论组
上一页 1 2 3 4 5 6 7 下一页 
覆盖OnPaint和OnPaintBackground

  一个典型的游戏应用程序将自定义描画窗体的内容。 应用程序通过覆盖一个控件的OnPaint()事件然后自定义处理窗口的描画。

protected override void OnPaint(PaintEventArgs paintg)
{
Graphics gx = paintg.Graphics;
// Custom draw using the graphics object
}

  每当一个控件开始描画时,它的背景首先自动地刷新。 举例来说,在OnPaint()描画控件内容的过程中,它的背景先使用this.Backcolor中指定的颜色描画。 但是上面提到的这种应用程序自己描画窗体的情况可能并不太理想;在应用程序完成前景着色以前,背景的自动着色可能导致背景的瞬间闪烁。

  为了防止这种默认的情况发生,每当一个应用程序覆盖OnPaint()方法的时候,强烈建议也覆盖OnPaintBackground ()方法重画背景本身。 象在下面的例程中一样,应用程序可以处理OnPaint()中的所有的描画,而空着OnPaintBackground()。

protected override void OnPaintBackground(PaintEventArgs paintg)
{
// Left empty, avoids undesirable flickering
}

  用于着色的Off Screen位图技术

  你可以通过获取用于屏幕的图形对象,在屏内描画,通过调用一个控件的this.CreateGraphics()直接画到上面。 要牢记,当屏内图形对象不再需要的时候,一定要把它去除。不这样做可能会使显示设备的资源紧张。

  如前面章节所述,你可以通过PaintEventArgs.Graphics访问OnPaint()和OnPaintBackground()方法中的屏幕图形对象。一旦这些描画方法被执行,这些图形对象就会被自动去除。

  游戏程序在屏幕上直接描画往往并不理想。因为当你在屏幕上描画许多对象的时候,你将看到屏幕闪动。为了避免屏幕闪动,游戏开发者通常使用屏外描画技术。

  主要的思想是创建一个屏外位图,获得它的图形对象,执行关于它的所有的描画操作(在内存中)并且复制生成的位图到屏幕上。

// Create off-screen graphics
Bitmap bmpOff = new Bitmap(this.ClientRectangle.Width,
this.ClientRectangle.Height);
Graphics gxOff = Graphics.FromImage(bmpOff);

  在这个例子里,我将创建一个正好是游戏窗体客户区大小的屏外位图。 基于需要,它的尺寸是可以改变的。 然而,维持屏外和屏内图形边界大小关系为1:1将非常有益,尤其是当需要翻译屏内和屏外子图形的坐标时。

// Draw to off-screen graphics, using Graphics.Draw APIs
// Create on-screen graphics
Graphics gxOn = this.CreateGraphics();
// Copy off-screen image onto on-screen
gxOn.DrawImage(bmpOff, 0, 0, this.ClientRectangle, GraphicsUnit.Pixel);
// Destroy on-screen graphics
gxOn.Dispose();

  这个技术避免了屏幕的闪动,并且当内存中所有的屏外描画操作都在进行的时候也非常快。

  子图形

  像位图这样的图象都是以矩形形式出现,但是在现实世界中大部分的子图形是不规则形状的(并不是矩形的)。 所以我们需要找到办法让我们从一个矩形图象中提取出一个不规则子图形图象。专题:http://www.qqread.com/dotnet/u292184000.html 更多文章 更多内容请看游戏开发网络游戏攻略.NET Framework新手入门专题,或进入讨论组讨论。

上一页 1 2 3 4 5 6 7 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章