在另一个脚本中使用变量名访问数组?

ToboTheRibbler

我在编程方面非常陌生,我需要帮助来解决出现的问题。我试图访问另一个脚本中的数组,通常没有问题。但是我的情况是这样的:

例如:

脚本A包含一些具有不同非数字名称的数组。

   using UnityEngine;
   using System.Collections;
   using System.Collections.Generic;

   public class ScriptA : MonoBehaviour {
   public int[] keys = new int[4];
   public int[] screws= new int[4];
   public int[] nails= new int[4];
   public int[] iron= new int[4];
   ....
   }

现在,在脚本B中,我需要使用一个变量来访问这些数组。我怎样才能做到这一点?

例如:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class ScriptB: MonoBehaviour {
    ScriptA scriptA;
    public string arrayName;    // Here user could type in the name of an array



    void Start()
    {
        scriptA = GameObject.Find("Object").GetComponent<ScriptA>();

        // This try to access the array of course not works. But how?
        scriptA.arrayname;   
    }

感谢您的想法和解决方案。我认为这不是一个难题,但是我不知道要解决它。

阿图罗·托雷斯·桑切斯(Arturo TorresSánchez)

您要么需要反射(难看),要么可以定义Dictionary<string, int[]>in ScriptA,如下所示:

public class ScriptA : MonoBehaviour
{
    public int[] keys = new int[4];
    public int[] screws = new int[4];
    public int[] nails = new int[4];
    public int[] iron = new int[4];
    public Dictionary<string, int[]> arrays;

    void Start()
    {
        arrays = new Dictionary<string, int[]>
        {
            { "keys", keys },
            { "screws", screws },
            { "nails", nails },
            { "iron", iron }
        };
    }
}

然后,您可以ScriptB像这样使用它scriptA.arrays[arrayName]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

能够在另一个变量名中使用变量?红宝石

使用变量名来更改另一个变量名的名称

在bash脚本中基于另一个变量名创建对变量的引用?

从数组访问随机变量以在另一个变量中使用

使用另一个变量的内容创建变量名

bash:创建一个包含另一个变量的变量名

使用变量作为另一个变量名的一部分

Django使用模板变量的值作为另一个变量名的一部分

从另一个脚本源访问变量

访问另一个脚本的变量

如何在Python中使用另一个变量访问名称空间变量

jQuery动态将变量添加到另一个变量名

将for循环的变量插入另一个变量名

在一个脚本中创建变量并在另一个脚本中使用。jQuery/HTML/JS

如何在另一个数组matlab中使用数据访问数组

在另一个脚本中更改变量名称时打印错误

如何在另一个脚本的路径中使用变量?

如何在虚幻脚本中使用另一个类中的变量?

在另一个函数中使用此实例访问用户密码变量

访问另一个类中使用的变量,Eclipse?

如何直接从另一个类访问变量(即不使用类名或对象)?

asp.net c# 我需要从存储在另一个字符串中的变量名访问变量的值

如何从一个类访问变量并在另一个类中使用它?

使用AngularJS访问另一个函数的变量

使用另一个变量递增变量名称

如何通过 PowerShell 脚本正确设置变量,然后使用 Azure DevOps 在另一个脚本中使用它?

在另一个View Controller中使用变量

Python 在另一个函数中使用变量

在另一个Perl文件中使用变量