我有一个游戏对象附有两个脚本。我想从第一个脚本获取第二个脚本的名称。 的记住:
结果 y,我想获取脚本名称并设置该脚本属性?
答案 0 :(得分:8)
我不确定你是什么意思“我想从第一个脚本中获取第二个脚本的名称”,但请看一下:
我必须将脚本附加到Main Camera gameObject。
以下是Test.cs的代码:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour
{
void Start()
{
MonoBehaviour[] scripts = this.GetComponents<MonoBehaviour> ();
foreach (MonoBehaviour mb in scripts)
{
Debug.Log (mb.GetType ().Name);
}
}
}
一开始,它会在其上打印所有MonoBehaviour
的名称:
答案 1 :(得分:1)
虽然不是直截了当,但却是一种相当简单的方法,可以满足您的需求。
由于AddComponent不再接受字符串(文档另有说明,但我认为它是因为Unity还没有更新它),你可以做的是
以下代码
var type = Type.GetType("SomeClassName");
gameObject.AddComponent(type);