J2ME手机游戏开发日记1

类别:Java 点击:0 评论:0 推荐:

J2ME新手,做了一个游戏的项目,其中有些体会,觉得有些东西还是可以拿出来和大家分享。说错了还请包涵。

开发环境:

windows2000+JBuilder X+semc_j2me_sdk_2_1_4_beta

从来没有接触过这个方面,因为小组一个项目要开始学J2ME,看了两天的书,发现其实JDK还是很简单的。总共也就那几个类。只是如果要考虑到资源和性能的最佳优化的话,算法和数据结构的要求比较高。

先说环境的搭建:
1、windows2000(这个不用说了)
2、JBuilder X(其他版本的JBuilder其实应该也没问题,只是我机子只有512,跑9或者2005的话有点郁闷)
3、因为是针对索爱的K700C开发的项目,所以JDK使用索爱的JDK
4、JBuilder中使用手机的JDK,步骤为Tools-Configure JDKs-Add

开发J2ME的话首先了解J2ME的结构层次,看了很多介绍性的文档顺序也大概都是这样子,网上的这方面的介绍浩如烟海,我在此也不赘述了,只是说说我的理解吧。
J2ME的核心是Configuration(CLDC、CDC),在这之上是Profile(MIDP),而我们的手机开发也大部分是在Profile上,也就是说CLDC+MIDP。
如果你要详细了解J2ME一路发展的历史,可以下载JSR规范读读,地址是http://jcp.org

第一天的工作:
有点乱,因为也是刚刚接触这个东东,一点实际经验都没有(java也只是看的零零碎碎的)。拿着本书在实验室泡了整整一天,大概了解了一下程序的基本结构。(强烈推荐sun出版的《J2ME无线设备程序设计》第二版,看得非常之痛快)。
程序中继承了MIDlet类的类可以理解为程序的入口。相当于win32中的winmain,运行的话都是从这个开始。
MIDlet的结构为
public class GameMIDlet extends MIDlet {
                           public GameMIDlet() {}              //构造函数,参数必须为空
                           public void startApp()                 //程序开始(或者被系统中断之后再回到程序) 
                           public void pauseApp()               //程序暂停(处理一些暂停的清理工作,但是要注意系统遇到来电或者此类的事件时并非是将程序暂停,而是整个挂起,正常后又开始执行startAPP())
                           public void destroyApp(boolean con) //销毁工作。}

今天就写这么多了,明天说一下displayable和Graphics吧。另外也说一下大概的J2ME手机游戏的结构。

附:简单的MIDlet
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloMIDlet extends MIDlet implements CommandListener

{

private Display display;

private Command exitCommand;

private TextBox text;

public HelloMIDlet() {

display = Display.getDisplay(this);

exitCommand = new Command("离开", Command.BACK, 1);

text = new TextBox("Hello App", "Welcome!", 256, 0);

text.addCommand(exitCommand);

text.setCommandListener(this);

}

public void startApp() {

display.setCurrent(text);

}

public void pauseApp() {}

public void destroyApp(boolean unconditional) {}

public void commandAction(Command c, Displayable s) {

if (c == exitCommand) {

destroyApp(false);

notifyDestroyed();

}

}


本文地址:http://com.8s8s.com/it/it13079.htm