我如何在其他脚本中将变量值用作变量名?

问题描述 投票:0回答:2

我有一个带有配置文件的统一项目(用于动画名称)

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


public static class Anims{

public const string anim1= "NameOf anim1";
public const string anim2= "NameOf anim2";
public const string anim3= "NameOf anim3";
...
}
public enum animNames { anim1, anim2,anim3...}

并且在另一个脚本中我想使用动画来激活

public animNames name_Of_The_Anim_I_Want_To_Activate;

我的问题是将name_Of_The_Anim_I_Want_To_Activate.ToString()转换为实际的动画名称

我可以使用哪种工具将name_Of_The_Anim_I_Want_To_Activate = anim1转换为“ NameOf anim1”;

c# unity3d const
2个回答
0
投票

您可以从触发动画的对象中使用:

gameObject.GetComponent<Anims>().anim1

gameObject是持有Anim类的对象。这将访问anim1类中的变量Anim


0
投票

您只需要在另一个脚本中添加Anims类的引用,然后访问Anims的变量即可。如果您没有静态类和静态成员。

在您的情况下,您只需要访问Anims属性,例如:

var name_Of_The_Anim_I_Want_To_Activate = Anims.anim1;

这是为什么,因为您具有静态的类和静态的成员,所以您无需创建类的实例/对象来访问Anims类的变量。]​​>


0
投票

尝试添加类似于此的辅助功能:

© www.soinside.com 2019 - 2024. All rights reserved.