J2ME手机游戏开发日记(转)

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();

}

}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-127062/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-127062/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值