初学乍练J2me游戏开发 (一)
手上有think in java 还有从sun下载的midp2.0的文档,学习中。但是还是忍不住要写点东西,以获得对java开发的感性认识和入门的成就感。呵呵。
准备做两个东西来练习,主要都是参考http://www.j2medev.com/ 提供的两个例子来做。代码和创意都是人家的自己纯属练习。第一个是 坦克大战
第二个是 tony的是男人坚持60s(空战)。注:超子是初学,java方面绝对的菜鸟,所以超子的注释及描述完全是按自己的理解,根本不规范。;)
第一步:
创建一个J2ME Midlet的项目,有几个概念需要这里写一下,便于理解。知道就可以了,不要问太多为什么,呵呵。
1.什么是MIDP?
移动信息设备说明(MIDP)是一组Java应用编程接口(APIs),它与有限连接设备配置(Connected Limited Device Configuration - CLDC)一起向诸如蜂窝电话等移动信息设备提供了完整的Java应用运行环境。用于MIDPD Java 设备的应用程序必须以MIDP Java编写。 而Pjava应用程序不能在MIDP Java设备上运行。
2. 什么是KVM? --chaozi :其实就是一个手机环境的模拟器,用于测试你的java程序。
KVM 的全称是K Virtual Machine(K虚拟机 - K 即千:"kilo")。 KVM是Java虚拟机符合CLDC规范的特别应用。
3. 什么是MIDlet? -- chaozi :显而易见需要实现这个接口才能让你的java程序运行于手机上。
MIDlet是一种运行在支持MIDP设备上的MIDP应用。MIDlet只使用由MIDP和CLDC规范定义的APIs。它也是MIDP 的MIDIet API包中的一种接口。
第二步:
项目建好了,第一步中说过了需要实现MIDlet接口,因此我们创建一个MIDlet的扩展。起个名字 GameMIDlet
系统为我们生成了必要的代码,我们只需要做一些修改就可以用了 完成后的代码如下
import javax.microedition.midlet.*; //引入midlet,扩展人家么,当然要用了
import javax.microedition.lcdui.*; //引入lcdui ,故名思义,lcd :液晶显示器 ui :用户界面
![](/Images/OutliningIndicators/None.gif)
public class GameMIDlet extends MIDlet {
![](/Images/OutliningIndicators/InBlock.gif)
private Display display;
public void startApp()
{
display = Display.getDisplay(this);
TankGameCanvas gameCanvas = new TankGameCanvas(); //这个东西是我们写的扩展GameCanvas类,里面有游戏的基本逻辑。在以后的文章里会介绍,如果你没有javax.microedition.lcdui.game这个家伙说明你的midp版本太旧。
gameCanvas.start(); //哈哈,游戏开始了.
display.setCurrent(gameCanvas); //把它显示出来
}
public Display getDisplay()
{
return display;
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
System.gc();
notifyDestroyed();
}
![](/Images/OutliningIndicators/InBlock.gif)
}
这样我们的这个游戏的第一部分也就完成了。该上班了,明天再写。关于环境的配置,可以参照超子前面的文章。
准备做两个东西来练习,主要都是参考http://www.j2medev.com/ 提供的两个例子来做。代码和创意都是人家的自己纯属练习。第一个是 坦克大战
第二个是 tony的是男人坚持60s(空战)。注:超子是初学,java方面绝对的菜鸟,所以超子的注释及描述完全是按自己的理解,根本不规范。;)
第一步:
创建一个J2ME Midlet的项目,有几个概念需要这里写一下,便于理解。知道就可以了,不要问太多为什么,呵呵。
1.什么是MIDP?
移动信息设备说明(MIDP)是一组Java应用编程接口(APIs),它与有限连接设备配置(Connected Limited Device Configuration - CLDC)一起向诸如蜂窝电话等移动信息设备提供了完整的Java应用运行环境。用于MIDPD Java 设备的应用程序必须以MIDP Java编写。 而Pjava应用程序不能在MIDP Java设备上运行。
2. 什么是KVM? --chaozi :其实就是一个手机环境的模拟器,用于测试你的java程序。
KVM 的全称是K Virtual Machine(K虚拟机 - K 即千:"kilo")。 KVM是Java虚拟机符合CLDC规范的特别应用。
3. 什么是MIDlet? -- chaozi :显而易见需要实现这个接口才能让你的java程序运行于手机上。
MIDlet是一种运行在支持MIDP设备上的MIDP应用。MIDlet只使用由MIDP和CLDC规范定义的APIs。它也是MIDP 的MIDIet API包中的一种接口。
第二步:
项目建好了,第一步中说过了需要实现MIDlet接口,因此我们创建一个MIDlet的扩展。起个名字 GameMIDlet
系统为我们生成了必要的代码,我们只需要做一些修改就可以用了 完成后的代码如下
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
这样我们的这个游戏的第一部分也就完成了。该上班了,明天再写。关于环境的配置,可以参照超子前面的文章。