unity3d引用和实例化对象的方法

利用脚本组件的public变量

把prefabs拖入到对象相应脚本组件的public变量中,如下图

这里写图片描述

然后在脚本中写如下代码:

public class explosionScript : MonoBehaviour {

  // our ParticleExamples class being turned into an array of things that can be referenced
    public ParticleExamples[] particleSystems;

    // the gun GameObject
    public GameObject gunGameObject;

    // a private integer to store the current position in the array
    private int currentIndex;

    // the currently shown prefab game object
    private GameObject currentGO;

    // where to spawn prefabs 
    public Transform spawnLocation;
    // Use this for initialization  
    void Start () {
      obj = currentGO = Instantiate (particleSystems[currentIndex].particleSystemGO, spawnLocation.position + particleSystems[currentIndex].particlePosition, Quaternion.Euler(particleSystems[currentIndex].particleRotation)) as GameObject;
    }  

    // Update is called once per frame  
    void Update () {  

    }  


}

直接加载资源文件中的prefabs

加载Resource文件夹下的预制体

GameObject duck02_1 = Instantiate(Resources.Load("duck02")) as GameObject;

当然也可以直接用:

GameObject Target = new GameObject(targetName);
            Target.transform.localPosition = Vector3.zero;
            targetBehaviour = Target.AddComponent<EasyImageTargetBehaviour>();

然后用代码手动添加组件。
这个方式 就比较麻烦一些了。


引用一个已有的对象

1.直接把场景中新建的gameObject拖入到脚本的公共变量中,然后在脚本中直接使用。
这里写图片描述

  1. 给gameObject设置一个tag,然后通过
    GameObject obj = GameObject.FindGameObjectWithTag(“BugPlayer”);
    方法获取。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页