初学乍练J2me游戏开发 (一)

该博客为转载内容,原文链接为https://www.cnblogs.com/shichao/archive/2004/11/03/59953.html ,涉及Java和UI方面。
手上有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

系统为我们生成了必要的代码,我们只需要做一些修改就可以用了 完成后的代码如下
None.gif import javax.microedition.midlet. * ;         // 引入midlet,扩展人家么,当然要用了
None.gif
import javax.microedition.lcdui. * ;         // 引入lcdui ,故名思义,lcd :液晶显示器 ui :用户界面  
None.gif

ExpandedBlockStart.gifContractedBlock.gif
public   class  GameMIDlet extends MIDlet  dot.gif {
InBlock.gif
InBlock.gif    
private Display display;        
InBlock.gif    
InBlock.gif    
InBlock.gif    
public void startApp()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        display 
= Display.getDisplay(this);
InBlock.gif        
InBlock.gif        TankGameCanvas gameCanvas 
= new TankGameCanvas();    //这个东西是我们写的扩展GameCanvas类,里面有游戏的基本逻辑。在以后的文章里会介绍,如果你没有javax.microedition.lcdui.game这个家伙说明你的midp版本太旧。
InBlock.gif
        
InBlock.gif        gameCanvas.start();        
//哈哈,游戏开始了.
InBlock.gif
        display.setCurrent(gameCanvas);    //把它显示出来
ExpandedSubBlockEnd.gif
    }

InBlock.gif    
public Display getDisplay()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
return display;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
public void pauseApp()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
ExpandedSubBlockEnd.gif    }

InBlock.gif    
public void destroyApp(boolean unconditional)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        System.gc();
InBlock.gif        notifyDestroyed();
ExpandedSubBlockEnd.gif    }

InBlock.gif
ExpandedBlockEnd.gif}


这样我们的这个游戏的第一部分也就完成了。该上班了,明天再写。关于环境的配置,可以参照超子前面的文章。

转载于:https://www.cnblogs.com/shichao/archive/2004/11/03/59953.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值