在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);//創建好了一堵實用的牆 } } } }