可移植java手机游戏的设计.doc_第1页
可移植java手机游戏的设计.doc_第2页
可移植java手机游戏的设计.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沙皮狗工作室可移植java手机游戏的设计 摘要时下游戏开发的平台纷杂繁多。各大游戏主机瓜分市场,游戏开发者为了增加游戏销量及知名度,游戏在多平台发售在所难免。针对某特定平台开发的游戏往往难以移植到另一个平台。这时就需要一些便捷的技术来减少移植游戏的成本。移植的难度,主要在于代码的差异和硬件的支持方式。本文着重讨论如何使用面向对象技术来减少移植游戏时的代码改写量。并且由于经验限制,将以手机游戏的跨平台开发作为实例讲解。关键词:游戏,移植,跨平台开发,面向对象 1 引言 目前主流手机操作系统有谷歌(Google)的安卓(Android) 和苹果(Apple)的iPhone。但也只是目前而言。未来的走势是一个未知数。其他手机操作系统如赛班(Symbian),Windows Phone,黑莓(BlackBarry),MeeGo,Bada也在市场上占有一席之地。即将推出的windows phone 8是潜力股。另外还有三星即将推出的泰泽(Tizen)也是发展的一种可能性。总言之,操作系统的多元化是不可阻挡的潮流。开发人员要想在不断变化更新的市场中赢得更多的优势。程序的可移植、易于移植将是一大卖点。虽然很多游戏开发企业都已经掌握了移植的技术,仍有相当比例的独立开发者缺少移植的意识,或者不知道如何让自己的游戏可移植。1 正文1.1 移植的难点首先一点就是不同操作系统使用不同的API,甚至使用不同的语言。对于同一个操作,不同的系统有不同的实现方式。比如用Java平台编写绘图程序与用Android编写绘图程序会用到不同的API。其次一点就是不同平台主机的操作差异。不同平台的主机,硬件支持的差异日益减小。主流智能机几乎都支持触屏,重力感应,GPS,旋转屏幕等功能。差异在于硬件支持的方式。比如苹果的iPhone屏幕正方只有一个主屏幕键,而Android手机大多都有四个按键。1.2 问题的解决那么如何解决上面的问题呢?如果操作系统使用不同的语言,那么没办法,只能等待操作系统方对你的语言进行支持。否则,基本上只能重写游戏。那么,对于API和硬件支持方式的差异。我们又如何解决呢?其实方法说起来并不困难。用面向对象来描述,就是封装变化。我们通过面向接口编程,把不变的部分与变化的部分分离。这样,在移植的时候,只要改动那些变化的部分。我们自己制定适用于游戏的API,然后再根据具体的开发平台来实现那些API。这样,我们在开发游戏时,就不需要关心平台的属性,而把注意力集中到游戏的实现中。一般情况下,我们需要哪些接口呢?首当其冲的是文件读写,事件接收,绘图,音乐播放这四个超级实用接口。接着只需要一个整合这四个接口的接口和一个用于管理游戏的界面接口。这六个主要接口就能很好地解决游戏的移植问题。那么具体应该怎么做?第一步、根据平台实现四个超级实用的接口。第二步、创建一个抽象类,实现整合接口类,并让整合接口类继承平台对应的程序入口类。第三步、在整合接口类中创建四个超级实用接口,并且添加界面接口的引用。第四步、创建一个独立的线程,用来游戏程序进行刷新。刷新的方法就是从整合接口对象中获取界面对象。调用界面对象中的刷新方法。第五步、是的,还没有实现界面类的接口。这一步才是跟游戏代码相关的。实现界面接口,编写具体的游戏代码,这个界面类作为初始界面。初始界面类中有一个方法,在满足一定条件后,会创建一个新的界面实例,让游戏转入另一个界面第六步、继承已经实现的整合接口类。实现一个方法,这个方法用来实例化初始界面类。第七步、此时,只需要创建新的类实现界面接口。就可以实现游戏界面的转换。为了更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论