J2ME RPG游戏边学边做(三)
来源: 编辑:duliying 更新日期:2008-7-12 15:35:19 浏览:317 次
上次我们已经成功的完成地图和英雄的编写。这次我们将为英雄加入碰撞检测和人物对话。
(笔者对j2me只是业余爱好者,实现以上功能的代码全部原创,不知道各位专业人士的做法是什么,还
有什么更有效的方法来解决这些问题,请大家多多指教。MSN:zhagy-1981@hotmail.com)
在开始前,我们需要确定在地图中哪些地方不允许走动,那些地方可以触发对话,这就需要在地图中事
先把这些事件定义好。我们改变先前的Scene类。利用二维数组为地图加入事件。
Scene.java
//这次的代码和上次有点出入,这次我们利用getMap()方法来读取地图数组,这样方便以后改为
//从外部文件读取
package brave;
import javax.microedition.lcdui.game.TiledLayer;
import javax.microedition.lcdui.Image;
public class Scene
{
public static TiledLayer createTiledLayerByBackground(Image image)
{
TiledLayer tiledLayer = new TiledLayer(10, 8, image, 48, 64);
tiledLayer.fillCells(0, 0, 10, 8, 2);
return tiledLayer;
}
public static int[][] getMap()
{
//生成地图数组,在原来的每个地图元素后面都加了一个事件。
//事件id为99是不允许通过
//事件id为98是激活对话
//其实在这里定义二维数组并不是很方便,个人感觉还是三维比较直观和方便,
//这里为了方便,只定义二维数组
int[][] maplist =
{
//30*32
{0 ,0}, {0 ,0}, {0 ,0}, {0 ,1}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0},
{0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0}, {0 ,0},
{0 ,0}, {0 ,0}, {0 ,0},
第1页/总3页
第一页 上一页
下一页 最后一页
【发表评论】