java J2SE游戏,2D游戏地图读取

public TileMap loadMap(String filename) throws IOException {
		lines = new ArrayList<String>();
		BufferedReader reader = new BufferedReader(new FileReader(filename));//读取地图文件
		while (true) {
			String line = reader.readLine();//(解析)读取一行
			if (line == null) {
				reader.close();
				break;
			}

			if (!line.startsWith("#")) {//当这一行开头不是 #时,存入lines链表中,
				lines.add(line);
				width = Math.max(width, line.length());
			}
		}

		height = lines.size();//地图的高度,即链表的size
		 newMap = new TileMap(width, height);//地图封装类
		return newMap;//以对象方式返回
	}

   简单说下这行代码,我们先结合地图文件说明,如下

 I      
                                    IIIIIIIIIIIII  
ABBBBBBBBBBBBB

这些个字母代表了地图中不同的障碍物,根据游戏的特色自行设置障碍物,这种设计给画图线程占据了很大时间,效率慢。所以,要考虑一种画图的缓存机制,一种叫双缓存,另一种叫交换链 ,java中的 BufferStrategy,效率比双缓存高。。。。。。。

如上程序实例图


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值