C# 查找附加到多个游戏对象的通用脚本?
我有一个附加到多个游戏对象的脚本,我在另一个脚本中引用了这个脚本。但是,当被引用时,只访问一个游戏对象,而不是访问所有游戏对象。 如何访问使用此脚本的所有游戏对象C# 查找附加到多个游戏对象的通用脚本?,c#,unity3d,C#,Unity3d,我有一个附加到多个游戏对象的脚本,我在另一个脚本中引用了这个脚本。但是,当被引用时,只访问一个游戏对象,而不是访问所有游戏对象。 如何访问使用此脚本的所有游戏对象 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CheckForGrab : MonoBehaviour { private OVRGrabber grabber; //the scrip
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CheckForGrab : MonoBehaviour {
private OVRGrabber grabber; //the script I try to access
// Use this for initialization
void Start () {
grabber = (OVRGrabber) FindObjectOfType(typeof(OVRGrabber)); // the gameObject the script is attached to
}
}
如果需要多个结果,则必须查询多个实例。很明显 试试看。注意“s” 此外,在这种情况下,使用泛型而不是强制转换
grabbers = FindObjectsOfType<OVRGrabber>();
grabber = grabbers[index];
使用:FINDOBJECTOFTYPEOFVRGRABER替代FINDOBJECTOFTYPEOFVRGRABER 这一点很重要 您的代码如下所示:
private OVRGrabber[] grabbers;
private OVRGrabber grabber;
// Use this for initialization
void Start () {
grabbers = (OVRGrabber) FindObjectsOfType(typeof(OVRGrabber));
grabber = grabbers[0]; //iterate if you want to do stuffs with everyone of them
}
谢谢,如另一个答案中所述,以下行已替换为:grabbers=OVRGrabber FindObjectSoftypeTypeOfVRGrabber//from GRABERS=FindObjectSoftType//到