3D塔防游戏实现 1.1 3D地图

正文3D地图

(3D地图有例子脚本:”:/Samples/地形/3D地形/HitTerrain3D.ais”) 我的3D地图的源码如下: (用到的图)

基础地图 MapBase.ais

LoadImage(“Map1Img”,”1.png”);//草色LoadImage(“Map2Img”,”2.png”);//黄色石头LoadImage(“Map3Img”,”3.png”);//褐色石头LoadImage(“Map4Img”,”4.png”);//沙子CreateMipmap(“Map1Img”);//创建草色mipmap图片CreateMipmap(“Map2Img”);//创建黄色石头mipmap图片CreateMipmap(“Map3Img”);//创建褐色石头mipmap图片CreateMipmap(“Map4Img”);//创建沙子mipmap图片Include(“MapDataA.ais”);//地图高低数据组MapA={type:”tex4Terrain3D”;width:32;//地图宽度height:32;//地图长Texture1:”Map1Img”;//草色mipmapTexture2:”Map2Img”;//黄色石头mipmapTexture3:”Map3Img”;//褐色石头mipmapTexture4:”Map4Img”;//沙子mipmapGridWidth:4;//格子宽度GridHeight:4;//格子长度SimplerState:”wrap”;//Simpler:”point”;Column:32;Row:32;cullMode:”none”;shader:”phong”;//生成地面草、黄石头、褐色石头、沙的比例Data:set((this.width+1)*(this.height+1),{w1:probRand(50,1,50,0),w2:probRand(90,1-this.w1,10,0),w3:1-(this.w1+this.w2),w4:0});//地图格子中的高度,用以生成地形高低Hights:set((this.height+1)*(this.height+1),5);x:this.width*this.GridWidth/-2;//地图中心位置X设置y:0;z:this.height*this.GridHeight/-2;//地图中心位Z置设置};MapA.Hights=MapDataA;//设置地图高低数据

地图高度数据 MapDataA.ais

MapDataA={5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,0,0,0,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5};

因为不好控制视角,,所以加一个视角设置 SetCamera.ais

//初始视角initialiseCamera={Position:{0,45,40};Target:{0,0,0};Up:{0,1,0};AllowVRotation:false;AllowHRotation:true;Field:1;Near:0.01;Far:200.0;};//赋值主视角=初始视角MainCamera=initialiseCamera;//视角设置生效SetCamera(MainCamera);

主函数 MainMap.ais

({}::MapA);//创建地图,::为继承感受不同地域不一样的节奏与表象。

3D塔防游戏实现 1.1 3D地图

相关文章:

你感兴趣的文章:

标签云: