在unity3d中可以通过拖拽创建一堵墙,但是这对墙缝隙的把握要求很高,很难创建出标准的一堵墙,我们就可以通过算法实现创建一堵墙的功能,条用unity圣典中vector3方法实现创建墙的效果,代码非常简单。
using UnityEngine; using System.Collections; /* 实现创建一堵墙的功能 */ public class createwall : MonoBehaviour { public GameObject zhuankuai; // Use this for initialization void Start () { //复杂的方法创建的一堵墙,不推荐使用,代码没有可读性 //GameObject.Instantiate(zhuankuai,new Vector3(0,0,0),Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(1, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(2, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(3, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(4, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(5, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(6, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(7, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(8, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(9, 0, 0), Quaternion.identity); //GameObject.Instantiate(zhuankuai, new Vector3(10, 0, 0), Quaternion.identity); //使用for循环提高代码的可重用性 for (int i = 0; i <= 5; i++) { for (int j = 0; j <= 5; j++) { GameObject.Instantiate(zhuankuai, new Vector3(i, j, 0), Quaternion.identity);//创建好了一堵实用的墙 } } } }