先搞个JBuilder 2005或者 2006无所谓了。
File -> New Project
填上名字:
Name:随便
目录:
Directory:随便
点Next.
然后选择JDK,点 ...,
如果是JBuilder 2005选择 J2ME Wireless Toolkit 2.1
JBuilder 2006选择 J2ME Wireless Toolkit 2.2。
点Next.
点Finish.
第一步完成。
----------------------------------------------------------------------------------
第二步,
File -> New...
选Micro, 然后选 MIDP MIDlet,点ok.
填Class
name:按照我的惯例,填GameMidlet,注意Java中的大小写敏感,类名使用大写开头。
填Package:删了,啥也不填。一般j2me
game程序就那几个类,不用按package分的那么细。
可以理解为这个类,是j2me应用程序的入门儿类。手机运行会找这个类,以后再说。
点Next.
现在填这个类是画布类,我们的游戏代码主要在这里面编,
它叫做Canvas,其实继承Displayable(意思是一个可拿来显示的咚咚),Midlet有个方法,就是给手机添加一个Displayable对象。
因此,我们编好这个Canvas,用Midlet的API把它加到手机上,就完了。
手机就可以按照我们的逻辑来画东西啦。具体以后再谈。
填Class Name: 按照我的惯例,填Game就行了。
Tile:什么鸟玩意儿,直接删除。
填Displayable type: 这里就选择javax.microedition.lcdui.Canvas
(xx.xx.xx的意思是,javax是个包,microedition是他下面的包,如此类推,最后一个是类)
这里一选,就说明这个类是canvas了。
Command Handling:默认不变,就是Interface implementation.
他的意思是,JBuider给你生成这个类没有实现的接口。简而言之,就是他自动给你加几个空方发体,这几个空方法是你需要实现的。
以后再说了。
点Next,
他那意思是给这个程序单独搞一个运行参数的配置。不管,没啥用。
点Finish。
ok,成功了。
看看左边的导航栏,点开[+]Project
Source,就有两个文件了,
一个叫Game.java
一个叫GameMidlet.java
现在稍微讲解一下这程序是怎么个运行法儿:
----------------------------------------------------------------------------------
双击GameMidlet.java
发现有个构造函数 public GameMidlet()
有个startApp()
有个pauseApp()
有个destroyApp()
有个public static void quitApp()
第一个和最后一个是JBuilder自动生成的。
中间三个***App是你需要实现的,JBuilder只给了空方法。
运行一个MIDlet的流程是这样的:
两步:
先是调用一个MIDlet的构造函数(GameMidlet)。
然后调用startApp。
怎么调不用你管,反正自动按这个顺序。只要明白就行了。
看看他做了什么事,
在构造函数中,把自己赋给了一个对象instance,这个玩意以后在Game类中还用得到。以后再说。
在startApp中,
使用这句话
Display.getDisplay(this).setCurrent(displayable);
就把咱们写得Game类,一个画布,给加载了。
在模拟其中运行,就点工具栏上面那个三角符号。
或者按F9.
至此,这项目的建立,运行的步骤就说完了。
但是现在这程序还不会动。
下一次讲Game.java这个Canvas是怎么回事,
怎么让手机屏幕无限循环的一次一次画下去。