unity 随机地图的创建
1、首先我们准备一张素材图,点击右侧的sprite editor,我们先对其进行编辑,
2、在“sprite editor”面板中,点击slice,就会自动对图片素材进行分割,点击apply。就搞定了,图片被分成了一小块一小块的。
3、看,分割完成!
4、我们新建一个空对象,添加sprite renderer 组件。该对象就是构成地图的元件。我们通过平铺该元件,并随机他的sprite属性来完成地图创建。OK,前置工作做好了!
5、然后就是关键的地方了,我们新建一个脚本文件,将它附给Main Camera,双击打开脚本,我们进行编辑。完成的代码我先展示一下:
6、声明地图元件与元件的一组spritepublic GameObject floor;public Sprite[] floorSp;
7、然后回到主界面,我们将sprite 拖到floorsp中。
8、再次回到脚本中,添加:for(int i=0;i<10;i++){ for(int j=0;j<10;j++){ GameObject fl泠贾高框oor0= (GameObject)Instantiate(floor,new Vector3(0.48f*i,0.48f*j,0),Quaternion.identity); floor.GetComponent<SpriteRenderer>().sprite=floorSp[Random.Range(0,floorSp.Length-1)]; } }什么意思呢,sprite的边长为0.48,我们循环创建10*10次。并每次地图元件创建的时候随机地图元件的sprite“Random.Range(0,floorSp.Length-1)”。
9、ok!基本上完成了,我们测试一下,非常好!每次生成地图都不一样!