Unity 3D\2D手机游戏开发:从学习到产品(第3版)
上QQ阅读APP看书,第一时间看更新

1.7 实例化

在Unity中使用脚本实例化对象不能使用关键字new,而是要使用关键字Instantiate,如下所示。

        public class Test : MonoBehaviour {
            public GameObject prefab;  //prefab资源,需要在场景中手动配置

            void Start()
            {
              // 在世界坐标位置0实例化prefab
              GameObject go = Instantiate(prefab, Vector3.zero, Quaternion.identity, null);
            }
        }

注意,在游戏运行中动态实例化对象可能会造成比较多的内存开销,增加系统垃圾回收的时间,解决方案是使用缓存池避免动态内存申请,具体方式在本书第2章的示例中有介绍。