从游戏对象中获取脚本名称

Muh*_*han 1 c# unity-game-engine

我有一个游戏对象附有两个脚本.我想从第一个脚本获取第二个脚本的名称. 记住:

  1. 我不想直接分配(我非常清楚).
  2. 第一个脚本名称不能被硬编码,因为它会改变.

结果是,我想获取脚本名称并设置该脚本属性?

Jer*_*ski 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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在开始时,它打印所有MonoBehaviours 的名称:

在此输入图像描述