|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net网页编程,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。
手机游戏移植次要的事情是把本来的一款其余型号手机上的游戏。经由修正能在以后型号的手机上运转和利用的历程。以是能够把这个事情细分为几方面的事变:
1、处置屏幕尺寸
这也是最主要的一点。分歧型号的手机。屏幕巨细分歧。分辩率分歧。以是要包管每款游戏放在每种型号的手机上都能到达一样的运转效果。那切实其实是件坚苦的事变。以是移植的时分就只管找差异较小的机型做移植。程序中必要注重的就是双缓冲的尺寸。和画面内容的地位。固然最乐意看到的就是能有个全局变量来把持全部游戏场景。
2、修正按键值
这是另外一个主要的方面。确保游戏可以一般的操纵的条件前提。好比NOKIA的机型的摆布软键分离是-6,-7,而Motorola的C650的摆布软键就是-21,-22。以是这类不同是没法躲避的。除非你的手机游戏程序可以顺应分歧的机型发生分歧的键值。我上个月做的一款游戏就是如许的。并且顺应分歧的屏幕巨细。切实其实很不错程序。
3、处置内存占用
这是另外一个没法躲避的成绩。假如你的手机功能不错。那大概你不必思索。好比你做motorolaE680的游戏。可是多半机型的内存容量是你必要重点思索到的。我见过良多游戏移植到新机型时呈现良多难以注释的成绩。一样平常都是由内存不敷引发的。好比图片没法显现。游戏没法安装。逝世机等征象。以是我们移植的过程当中。就要事前盘算好你的内存占用情形。把无用的对象设置为NULL。
4、完全汉化
某些游戏是英文界面的。以是假如要切合中国挪动的标准来做。还必需包管没有一个英笔墨符呈现。不外这听起来也有点强者所难。好比游戏中的LAP1/3赛道的第几圈。你非要改成圈1/3。可是也没举措。切合标准是你提交游戏的条件包管。汉化中大概呈现的成绩就是。假如笔墨被做成图片了,你必要经由过程美工的帮忙来完成事情。
5、游戏的功效修正
良多时分假如你要坚持与中国挪动的标准不异。就要修正摆布功效键的地位。和还要触及到给游戏增加停息和持续的功效。乃至偶然候你必要本人写个游戏菜单。而且增加一些LOGO界面。
下面提到的方面。多半都是移植中必需处置的事情内容。假如你碰着了难以让你动手的游戏。不要发急。由于代码不是你写的。假如你看着头晕,能够先从复杂的动手。然后理清思绪。上面谈谈移植过程当中一样平常的步骤。
1、检察资本文件
这是最主要的。是你修正游戏的条件前提。假如你连资本文件都不分明是甚么,那你没法完成剩下的事情。资本文件有几种。好比纯真的图片。PNG格局(日本DOJA的游戏图片格局是GIF)、声响文件、文本文件、数据文件等等。这里要提一下数据文件。一样平常把除图片,声响,文本之外的格局的文件都叫数据文件。不外这类文件是我不但愿看到的。由于它方便于与修正。有些游戏为了读取资本的便利。和占用空间的思索。会把图片文件做成一个数据文件来处置。之前都是用Ultraedit把这个数据文件翻开。然后一段一段的经由过程提取PNG格局的数据。然后重新保留成PNG文件。很贫苦。厥后写了两个工具。一个程序用来提取图片。一个程序用来重新天生数据文件。感到便利了很多。
2、浏览代码的技能
代码是必需得读的。不然就不叫修正了。可是也不必你都读懂,读透。并且不必每句都看全了,假如上万行的代码。你把每句看一遍。也够你累的。并且在BOSS划定的工夫内完成不了。你也贫苦。我一样平常起首要看完成游戏次要场景和功效的类。也就是所谓的Canvas类。由于这个类一定不是本人启动的。要经由过程MIDlet主类加载。大概再坦率一些经由过程别的的类加载。以是其他的类都是帮助这个类来完成游戏功效的。然后看看这个类的导进了哪些包。承继自甚么类。完成了甚么接口。然后再看它的机关函数。和paint()办法。假如有线程的话,还要看看run()内里的代码。这些就是这个游戏的次要切进点。把持着游戏的历程和画图。其他的像游戏中的算法之类的东东。假如偶然间。你就好好研讨一下。这对你来讲是很成心义的。
3、不要信任摹拟器
做分歧牌子手机,分歧型号的手机游戏,一定会用到摹拟器来运转。看看效果。用看看效果这个词已很贴切了。由于有些游戏摹拟器都运转不了。你连效果都看不到的。以是必需要用实在的手机运转和测试。可是按键值也必需用真机测出来。固然多半摹拟器和对应的真机不异。
4、办理分歧手机的BUG
最头疼的事变也就是这个了。会呈现一些稀里糊涂的毛病。明显在这个手机上运转的很好。但是到别的一个手机上就呈现意想不到的毛病。好比没法安装。图片没法显现。玩到某个中央逝世机。声响没法播放等等。碰到成绩先不要发急。冷清的回忆一下代码和上一次修正的历程。假如都扫除工资缘故原由。那就从内存和图片来思索。有些时分repaint()和ServiceRepaints()也会呈现成绩。好比NOKIA新S60体系。并且思索成绩不要太全面。由于游戏自己就是一个环环相扣的历程。
别的还要说说手机内存的处置。这是个典范的话题。甚么String的利用,System.gc()之类的。和将无用的对象设置为NULL。这些网上都有相干的会商。和static的用法。提一个中央。就是在手机加载图片时。手机上钩算图片占用的内存是:图片长 |
|