正文

J2ME游戏开发实例(1)2006-08-01 18:34:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/sword2008/17077.html

分享到:

J2ME手机游戏开发入门- -

                                      

本人的一点愚见,写出来和大家分享^^

J2ME手机游戏开发入门(1)

初次发文,文采又不好,但愿各位能看明白

.每个J2ME手机游戏(以下简称游戏),基本上都由一个继承了MIDlet抽象类的主类和至少一个Canvas的子类组成。
 (1).MIDLet类一般做为游戏的启动类,他就像是一个往挂图板上挂画布的人,而Canvas就好比是一个画布,在MIDLet类中可以控制,挂图板上当前挂的是那个画布,也就相当于,当前手机的屏幕上显示的是哪个Canvas,显示画布一般都是在其Constructor或是startApp方法中调用如下方法实现:
 Display.getDisplay.setCurrent(Canvas类的一个实例);
        (2).在主类中必须重写的而且很重要几个函数,他们用来控制整个程序的流程,startApp(),pauseApp(),destroyApp()。
他们的作用如下
 1.startApp(),当你在手机上开始一个游戏的时候,这个方法会背调用,如果在游戏开始后需要执行什么动作,可有在此调用。
 2.destroyApp()这个方法一般在你退出游戏的时候调用,一般在这其中会调用方法来释放游戏所占用的所有资源。
 3.pauseApp()一般这个方法很少用到。
 2.Canvas类是游戏中真正的主体,所有的游戏中的画面均是在Canvas上绘制产生的。
       在Canvas类中,必须实现一个paint方法,这个方法用来在Canvas绘制画面。当要显示Canvas的时候,paint函数会自动运行一次,如果想强制调用paint函数的话,在Canvas中适当的地方调用repaint();方法来实现。


1.一个简单的例子,给那些刚接触J2ME游戏开发的朋友们

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class MainMidlet extends MIDlet {
    public MainCanvas canvas = null;
    public MainMidlet() {
        canvas = new MainCanvas();
    }
    public void startApp() {
        Display.getDisplay(this).setCurrent(canvas);  
    }
    public void pauseApp(){
    }
    public void destroyApp(boolean flag) {
    }
 


class MainCanvas extends Canvas {
    private Image img = null;
    public MainCanvas(){
        try {
            img = Image.createImage("/res/test.png");  
        }catch(Exception e){
        }  
    }
    public void paint(Graphics g){
        g.setColor(255, 255, 255);   
        g.fillRect(0, 0, getWidth(), getHeight());  
        g.drawImage(img, 50, 50, Graphics.TOP|Graphics.LEFT);   
    }
}

 

 

}

阅读(3174) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册