在学习的过程要自己做例子,曾经有朋友跟我抱怨说自己不知道做什么项目来训练,其实自己做练习并不一定要一个很完整的项目,可以从一些最基本的游戏模块开始练习,比如,如何在屏幕上显示一张图片或者多张图片,如何来实现这些图片的重叠和移动(手动控制移动或者自动移动),如何在显示图片的时候调出一个Form来显示一些信息,然后又能够切换回图片,这些小的练习虽然不能够形成一个完整的游戏,但他是做游戏的基础,所以初学者一定不要一开始就拿一个很大的项目来做,那样只会让你总是做得似是而非,要踏踏  实实从小做起,每个高手都是这样走过来的,像我们离高手还有很远的距离,只能够从这些点滴的练习中积累自己的经验。

    多和别人交流,在交流的过程中,你会得到更多的经验,事实上就算是水平不高的编程者也会在某些方面有自己独到的见解,这会教会你很多的东西。

    在学习的时候,自己为代码加上自己的注释,只有这样才真正说明你看懂了这些代码。  

新手如何学J2ME

    有人说J2ME难,其实难者不会,会者不难,学编程,重要在实践。

    我当初就是凭着一本Java入门教材入的门,然后就抱着J2mE的参考手册边看边写代码,就这样慢慢成长起来的,

    当你对API熟悉之后,你会去研究算法,当你对一些基本的算法了解之后,你就觉得这东西,其实就是这么回事。

    想当一个高手,很难,但当一个菜鸟,还是很容易的,比如我,呵呵,只要你多多练习,多多向别人请教就好了。

回顾这半年来的J2ME历程

    我之所以一直坚持用WTK,一是因为编译的速度快,用起来也比较方便,另外也是为了避免因为用JB之类的编辑软件中的联想功能使自己变得懒起来,我希望自己能够尽可能多的记住常用的类的用法,而不是靠联想。

    回顾这半年多的历程,我的感觉是,学习J2ME并不难,但要把J2ME做好也不容易,特别是如何在59K这个平台限制下尽可能表现出游戏的可玩性和画面张力,是一个永远值得探索的问题。由于RPG本身的复杂性,使得内存资源变得那样的宝贵,有时候为了几K的内存占用,我要花上几天的时间去调试,监测一丝一毫的变化,并写出测试报告。也曾经有不少的朋友问我该如何学习J2ME,关于这一点,我本身水平并不怎么样,但作为自己的经验之谈,我觉得就像我之前说过的那样,要学习J2ME,一方面是要学好基本类的用法,一方面就是学会优化程序,前者是很容易实现的,就是多看参考手册或者API文档,同时多做练习,自己设计一些小项目来实现。后者就比较复杂了,需要和大家多交流,自己多做测试,多设计不同的算法进行比较,我认为,手机游戏上就是找内存占用和Cpu负担的平衡点,而这个东西不是理论上容易得出结果的,需要更多的实践,特别是在不同的机型上,可能还会有不同的结果。

J2ME开发入门

    J2ME本身是Java语言的一部分,因此,对Java语言有一定了解是必要的,而Java语言本身是面向对象编程的一种语言,因此,对类与对象的概念要有必要的了解。

    对新手来说,还是建议采用WTK,因为刚接触J2ME开发,与其把时间花在配置上,还不如花在编程上。

    我的感觉,每门语言都有自己的固定格式,就跟写文章的几要素一样,总有开头,结尾等等。而了解一门语言的格式,是学习这门语言最先要掌握的内容。

    如果把程序流程比做是一个管道工程的话,那么每门语言里都有一个管道的入口,在J2ME里,这个入口就是MIDlet类,这个类一般也称为J2ME的主类,每个程序,都有一个或多个固定的主类,在这里,我们只谈一般的情况,即只有一个MIDlet主类的情况,大家看API即可知道,MIDlet类有几个固定方法,startApp(),pauseApp(),destroyApp(),这些方法就像是管道工程(以下的讲述里,我都把编程比作是管道工程)中的几个关键阀门

    我觉得,J2ME实际上是一个很标准的顺序流程语言,J2ME中没有真正的多线程,很多情况下,一个J2ME程序的运行,我们都可以对他的流程进行完全的跟踪。这在调试方面是非常方便的。

    线程在J2ME里非常重要,一切动态效果(当然这是游戏的前提)都是通过线程来操作,因此,对线程的控制是值得研究的一个问题。如何优化代码,使线程能够在足够短的间隔时间内正常刷新,换言之,这就是大家讨论的FPS问题。程序优化做得好,则线程间隔时间可以足够短,使得FPS可以足够高,游戏的流畅度当然就越高。

J2ME开发中的好习惯

1.多写注释,完备的注释不管是对你自己,还是对别人,都是很有好处的,在调试中也会起很大的帮助。
2.在重要流程的各个环节设置一些监听点,其实很简单,就是用symstem.out.println()来输出一些标志符号就可以了,这样可以监听你的程序在运行的时候,走到哪一步。
3.不要写太多的类,尽量整合资源,不用的变量或者方法,尽量去掉。
4.熟练掌握各种常见的异常,不要太依赖于问别人和翻书,这些应该是一个合格的程序员应该熟练于心的东西。
5.对不熟悉的类,应该多写小代码来实验其用法,别人讲的永远不如自己研究出来的结果牢靠