魔兽争霸、星际争霸,这两款游戏相信大家并不陌生,在游戏中有地图编辑功能,只要编辑好地图我们就可以开始玩了,可见游戏地图在游戏中发挥着多么重要的作用,它承载这非常多的数据,比如地形标示,一些做得比较精密的游戏,在切换到不同地形时,会有明显的变化,比较雪地,人物行走将会变慢,并且会发出踩到雪里的声音;再比如一些特定地点的触发事件,我们的主角经过某一个特定地方时,会触发到一些特殊事件,这也可以在地图设计之初为其设定好。所谓的3D引擎,既为我们的图形元素按照一定的算法,编辑我们的图形元素(比如添加阴影或者粒子效果),并且提供接口,给游戏主程序调用,下面,会以一个简单游戏地图编辑器的实现讲解下游戏地图编辑器的开发。
首先一步:图形元素编辑,每个游戏画面其实可以分割为多个不可再分割的图形元素,就好像拼图一样,它们拼织在一起形成了我们游戏的主画面,所以我们要做的第一步当然就是对图形元素经行编辑。
程序预览:
导入图形元素:
每个图形元素对应一个实体对象,图形界面可采用二维数组保存,比如item[x][y]对应一个实体对象,在界面对应(x,y)坐标处加载item[x][y]对象中所保存的图片。
这里的实体类应包含自身高、宽、图片名称等一些信息,所含含方法应包含绘制自身等,张孝祥举过一个列子非常的棒,人在黑板画圆,画圆的方法是属于黑板还是属于人,在面向对象的世界里,正确答案是圆,这个例子很受用。
对图形元素的具体编辑: