01_OPhone平台2D游戏引擎实现——概述及框架.docxVIP

01_OPhone平台2D游戏引擎实现——概述及框架.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
01_OPhone平台2D游戏引擎实现——概述及框架

很高兴在这里又和大家见面了,为大家带来的是Ophone平台2D游戏引擎实现,虽然现在3D的游戏越来越多,但是2D游戏依然倍受欢迎,为了方便我们开发更多精彩的2D游戏,这里我们将讨论如何来实现一个OPhone平台的2D游戏引擎,对于3D游戏及其引擎实现,我们会再抽出时间来为大家介绍。相信大家经过这么长时间的学习,对于基础知识也有一定的把握,所以我们这一系列文章将介绍更高级的内容,大家也可以参考Opengl官方网站进行更多的学习。祝大家学习愉快!先回顾一下09年度OphoneSDN征文大赛,我们所带来的是“深入浅出Ophone平台游戏开发”,在这两篇文章中,我们完成了一个风魔全球的最经典的游戏俄罗斯方块,但是我们所使用的技术主要包括Ophone平台的Skia图形库和一些常用的组件,大家也看到了在Ophone平台中运行这类小游戏并不需要担心效率问题,但是大家同时也注意到了,我们的游戏并没有太多的动画和特效,没有动画和特效的游戏就犹如在记事本中绘制图形一样,让人很郁闷,不但效果不好,而且需要花费大量时间、精力。这肯定不是我们所想要的,同时在我们加入了动画和特效之后,游戏能否流畅运行?经过测试效果很不满意,所以我们需要一种更先进的技术来处理动画和特效,在保证游戏能顺利运行的前提下,使游戏更加生动,那便是本次我们所带来的“利用3D技术来开发2D游戏”。Ophone平台所提供的3D渲染图形库便是我们熟悉的Opengl ES,下面我们就将使用Opengl ES来构架一个游戏引擎。在开始之前,我们给大家演示一下,利用我们实现的引擎来完成的一个游戏半成品。如图1所示为游戏的启动画面,图2为主菜单界面,图3为游戏中的界面,每个界面之间的切换都会有相应的动画效果,游戏中也有各种“精灵”的实现,更多游戏相关截图请参见文末的附图。图1 启动画面??图2 游戏主界面?图3 游戏中界面?大家已经看到了我们的半成品游戏,请暂且相信我们的实现的引擎能够很轻松的完成Ophone平台2D游戏的开发(当然稍加调整同样可以开发3D游戏),同时当你看完这一系列文章之后,你同样可以实现自己的游戏引擎并且能开发出绚丽多彩的游戏。因为笔者发现有很多人在问Opengl是什么?能做什么的问题?所以在开始引擎实现的学习之前,我们首先对Opengl ES进行一个简单的介绍。?Opengl ES概述OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。OpenGL ES 是从 OpenGL 裁剪定制而来的,去除了 glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2.x 针对可编程管线硬件。OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的,它们分别又支持 common 和 common lite 两种profile。lite profile只支持定点定点实数,而common profile既支持定点数又支持浮点数。 OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的,common profile发布于2005-8,引入了对可编程管线的支持。下面是我们列举的一些被Opengl ES裁剪掉的Opengl功能,因此大家在使用api时需要注意,不能使用以下这些api:?1.????? glBegin/glEnd?2.glArrayElement?3.显示列表?4.求值器?5.索引色模式?6.自定义裁剪平面?7.glRect?8.图像处理(这个一般显卡也没有,FireGL/Quadro显卡有)?9.反馈缓冲?10.选择缓冲?11.累积缓冲?12.边界标志?13.glPolygonMode?14.?? GL_QUADS、GL_QUAD_STRIP、GL_POLYGON15.?? glPushAttrib、PopAttrib、glPushClientAttrib、glPopClientAttrib?16.?? TEXTURE_1D、TEXTURE_3D、TEXTURE_RECT、TEXTURE_CUBE_MAP?17.?? GL_COMBINE?18.自动纹理坐标生成?19.纹理边界?20.?? GL_CLAMP、GL_CLAMP_TO_BORDER?21.消失纹理代表?22.纹理LOD限定

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档