• 大小: 47KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2024-01-26
  • 语言: 其他
  • 标签:

资源简介

一个使用J2ME技术编写的RPG游戏Demo,包括地图绘制、人物移动和碰撞处理,以及界面切换,使用MIDP1.0实现,总体结构采用状态机模型

资源截图

代码片段和文件信息

import javax.microedition.lcdui.*;

/**
 * RPG游戏示例代码 实现了按键的连续移动
 */
public class RPGCanvas extends Canvas implements Runnable {

/** 游戏状态 */
private int status;

// 游戏状态设定
/** 村庄1 */
private final static int SCREEN_1 = 0;

/** 武器店 */
private final static int WEAPON_SHOP = 10;

/** 对话状态1 */
private final static int DIALOAG_1 = 100;

// 场景1地图数组
int backmap0[][] = { { 1 11 12 1 76 1 1 1 78 1 1 1 }
{ 19 20 21 22 73 80 81 1 77 68 1 1 }
{ 28 29 30 31 32 1 1 1 1 1 1 1 }
{ 37 38 39 31 41 1 1 1 1 1 54 1 }
{ 46 47 48 49 50 1 1 1 1 1 1 1 }
{ 55 74 57 58 59 1 1 1 1 1 1 1 }
{ 79 75 66 67 1 1 1 3 4 5 1 1 }
{ 1 1 1 1 1 1 1 2 13 14 1 1 }
{ 1 1 1 1 1 1 1 1 1 1 1 1 }
{ 54 27 24 24 23 83 24 24 24 24 26 54 }
{ 15 43 9 9 23 83 9 9 9 9 25 15 }
{ 54 42 33 33 23 83 33 33 33 33 34 54 }
{ 1 1 1 1 84 84 1 1 1 1 1 1 } };

// 图块常量
/** 每个图块的宽度 */
private final static int TILE_WIDTH = 16;
/** 每个图块的高度 */
private final static int TILE_HEIGHT = 16;

/** 场景1图片 */
Image screen_1 = null;

/** 地图原始图片 */
Image map0Img = null;

/** 人物原始图片 */
Image roleImg = null;
/** 人物的x坐标 */
int roleX = 100;
/** 任务的y坐标 */
int roleY = 100;

/** 人物宽度 */
private final static int ROLE_WIDTH = 16;
/** 人物高度 */
private final static int ROLE_HEIGHT = 32;

/** 人物方向 */
int direction;
/** 人物当前显示图片的序号 */
int currIndex = 0;

/** 人物连续移动的控制变量,-1代表不移动,其他方向和人物方向常量的规定相同 */

int roleMoveControl = -1;

/** 移动速度,每次2个像素 */
int speed = 4;

/** 不移动 */
private final static int NOT_MOVE = -1;

/** 人物方向常量 */
private final static int DIRE_LEFT = 9;
private final static int DIRE_RIGHT = 6;
private final static int DIRE_UP = 3;
private final static int DIRE_DOWN = 0;

/** 屏幕宽度 */
int width;
/** 屏幕高度 */
int height;

/** 可行走区域地图块序号 */
private int[] canMoveTile = { 1 2 3 4 5 13 14 23 32 41 50 59
66 67 83 };

/**武器名称*/
private String[] weaponName = {
“轩辕剑“
“浪宇刀“
“匕首“
};

/**武器价格*/
private int[] weaponPrice = {
1000
2000
100
};




public RPGCanvas() {
try {
map0Img = Image.createImage(“/map.png“);
roleImg = Image.createImage(“/player.png“);
} catch (Exception e) {
}

//全屏
this.setFullScreenMode(true);

width = this.getWidth();
height = this.getHeight();

// 启动线程
Thread th = new Thread(this);
th.start();
}

protected void paint(Graphics g) {
// 根据游戏状态实现绘制
switch (status) {
case SCREEN_1:
// 绘制场景
paintSCREEN_1(g);
// 绘制人物
paintRole(g);
break;
case WEAPON_SHOP:
paintWEAPON_SHOP(g);
break;
case DIALOAG_1:
paintDIALOAG_1(g);
break;
}
}

/**
 * 绘制场景1的方法
 * 
 * @param g
 *            画笔
 */
private void paintSCREEN_1(Graphics g) {
//

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        246  2007-11-06 11:04  RPGDemo\.classpath

     文件        204  2007-11-30 09:58  RPGDemo\.eclipseme

     文件        249  2007-12-05 10:19  RPGDemo\.eclipseme.tmp\emulation\RPGDemo.jad

     文件      14491  2007-11-20 10:04  RPGDemo\.eclipseme.tmp\emulation\RPGDemo.jar

     文件       8438  2007-12-05 10:19  RPGDemo\.eclipseme.tmp\verified\classes\RPGCanvas.class

     文件        911  2007-11-30 09:58  RPGDemo\.eclipseme.tmp\verified\classes\RPGMIDlet.class

     文件        539  2007-11-06 11:04  RPGDemo\.project

     文件        208  2007-11-06 11:04  RPGDemo\.settings\org.eclipse.jdt.core.prefs

     文件       6949  2007-11-06 11:39  RPGDemo\classes\map.png

     文件       2078  2007-11-06 16:24  RPGDemo\classes\player.png

     文件       7711  2007-12-05 10:19  RPGDemo\classes\RPGCanvas.class

     文件        911  2007-11-30 09:58  RPGDemo\classes\RPGMIDlet.class

     文件       6949  2007-11-06 11:39  RPGDemo\res\map.png

     文件       2078  2007-11-06 16:24  RPGDemo\res\player.png

     文件        225  2007-11-06 11:05  RPGDemo\RPGDemo.jad

     文件      10790  2007-12-05 10:19  RPGDemo\src\RPGCanvas.java

     文件        632  2007-11-06 16:08  RPGDemo\src\RPGMIDlet.java

     目录          0  2007-11-30 09:58  RPGDemo\.eclipseme.tmp\verified\classes

     目录          0  2007-11-06 11:04  RPGDemo\.eclipseme.tmp\verified\libs

     目录          0  2007-11-06 11:04  RPGDemo\.eclipseme.tmp\emulation

     目录          0  2007-11-06 11:04  RPGDemo\.eclipseme.tmp\verified

     目录          0  2007-11-06 11:04  RPGDemo\.eclipseme.tmp

     目录          0  2007-11-06 11:04  RPGDemo\.settings

     目录          0  2007-11-30 09:58  RPGDemo\classes

     目录          0  2007-11-06 11:04  RPGDemo\deployed

     目录          0  2007-11-06 16:24  RPGDemo\res

     目录          0  2007-11-06 11:06  RPGDemo\src

     目录          0  2007-11-06 11:04  RPGDemo

----------- ---------  ---------- -----  ----

                63609                    28

............此处省略1个文件信息

评论

共有 条评论

相关资源