用NetBeans开发J2ME游戏实例讲解(二)[4]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

        this.MoveArea[3] = 0;

    }

    private void jbInit() throws Exception {//JBuilder定义的初始化函数

        //初始化实例变量

        this.selected = false;//设置没有被选中的要移动区域

        this.level = 1;

        Images.init();//初始化图片常量

        Init_game();//初始化游戏,读取地图,设置选择区域,清空要移动到的区域

        //setCommandListener(this);//添加命令监听,这是Displayable的实例方法

        //addCommand(new Command("", Command.EXIT, 1));//添加“退出”按钮

    }

     public void commandAction(Command command, Displayable displayable) {

        //命令处理函数

        if (command.getCommandType() == Command.EXIT) {//处理“退出”

        //HuaRongDaoMidlet.quitApp();

        }

    }

     protected void paint(Graphics g) {

        //画图函数,用于绘制用户画面,即显示图片,勾画选中区域和要移动到的区域

        try {

            g.drawImage(Images.image_Frame, 0, 0,Graphics.TOP | Graphics.LEFT);//画背景

            MyMap.draw_map(g);//按照地图内容画图

            if ( this.selected )

                g.setColor(0,255,0);//如果被选中,改用绿色画出被选中的区域

            g.drawRect(this.SelectArea[0] * Images.UNIT + Images.LEFT,

                this.SelectArea[1] * Images.UNIT + Images.TOP,

                this.SelectArea[2] * Images.UNIT,

                this.SelectArea[3] * Images.UNIT);//画出选择区域,

            //如果被选中,就用绿色

            //否则,使用黑色

            g.setColor(255,255,255);//恢复画笔颜色

            if (this.selected) {//已经选中了要移动的区域

                g.setColor(255, 0, 255);//改用红色

                g.drawRect(this.MoveArea[0] * Images.UNIT + Images.LEFT,

                this.MoveArea[1] * Images.UNIT + Images.TOP,

                this.MoveArea[2] * Images.UNIT,

                this.MoveArea[3] * Images.UNIT);//画出要移动到的区域

                g.setColor(255, 255, 255);//恢复画笔颜色

            }

        }catch (Exception ex) {

        }

       

        System.out.println(Runtime.getRuntime().freeMemory());

        System.out.println(Runtime.getRuntime().totalMemory());

    }

 

    private void setRange() {

        //设置移动后能够选中的区域

        //调整当前光标位置到地图的主位置,即记录人物信息的位置

        if (this.MyMap.Grid[this.loc[1]][this.loc[0]] == Images.DLEFT) {

            this.loc[0] -= 1;//向左调

        }else if (this.MyMap.Grid[this.loc[1]][this.loc[0]] == Images.DUP) {

            this.loc[1] -= 1;//向上调

        }else if (this.MyMap.Grid[this.loc[1]][this.loc[0]] == Images.DLEFTUP) {

本文关键:用NetBeans开发J2ME游戏实例讲解(二)
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top