- 6
- 0
- 约 5页
- 2016-06-04 发布于河南
- 举报
游戏地图的制作
是游戏中不可缺少的重要环节之一,像坦克大战,俄罗斯方块,等等。要产生游戏地图,除了可以直接使用已经绘制好的位图外,对于一些不太复杂,具有重复性质的地图或场景,有一个好办法。就是利用地图拼接的方法,将一小块一小块的小地图组合成较大的地图。
地图拼接的优点在于节省系统资源,因为一张大型的地图会占用比较多的内存空间,且加载速度较慢,如果游戏中使用位数较多的大型地图,势必降低程序运行的性能,而且需要相当客观的内存空间。
平面地图贴图
首先从最基本的平面贴图开始讲起,这种很直观,即利用一张张四边形的小图块组成同样是四边形的大地图,如下图是由三种不同的图块组合而成的平面地图。
事实上这张由4*4张小图块组成,程序中使用事先以数组来定义那个位置上要出现哪一张图块,现在假设图中3种不同图块的编号分别为0,1,2,那么可以以下面的二维数组来定义上图。 Int mapblock[4][4]={{0,0,1,2},{0,1,1,1},{1,1,1,1},{1,1,1,1}}。
而本实例是以一维数组表示的,所以需要将数组的索引值转换成相应的列编号与行编号,转换公式如下:
列编号=索引值 / 每一列的图块个数(行数);
行编号=索引值%每一列的图块个数(行数);
行编号,列编号都是从0开始的,一旦算出了行编号,列编号之后便可以按照图块的宽和高求出
原创力文档

文档评论(0)