我正在创建一个脚本来管理Unity3D中UI元素的淡入淡出,并且在某些时候我会遇到枚举
前几天,我看到一个非常酷的资产,以淡化元素,并决定逆转engeneer它
经过一段时间研究教程和阅读本页面中的问题后,我被困在使用枚举,我不知道如何从另一个班级访问我的枚举,所以我想寻求帮助
我正在使用Unity版本5.3.5f1
目标
如何重现
新的Unity项目(无论是2D还是3D)
清空游戏对象
UI元素(图片)
图像填充屏幕及其颜色(任何颜色)
新的C#脚本,我称之为测试
完成
代码C#
这是我的代码(到目前为止)
using UnityEngine;
using UnityEngine.UI;
[System.Serializable]
public class FadeOperations
{
public enum FadeManager
{
fadeIn,
fadeOut
};
[Tooltip("Type of fading")]
public FadeManager fadeType;
[Tooltip("Duration time of the fading")]
public float duration;
[Tooltip("Select the image to fade")]
public Image fadeImage;
}
public class Test : MonoBehaviour
{
//Where do I acces the enum inside this class??
//This is the variable for the inspector to see the elements inside the other class
public FadeOperations[] fadeOperations;
private void Start()
{
}
}
我很乐意阅读好的解释和不友好的答案
由于
答案 0 :(得分:3)
从技术上讲,如果在类中声明枚举,则该枚举将充当嵌套类。
所以,使用目前的代码库,您需要在FadeOperations之外引用FadeManager,如下所示:
public class Test : MonoBehaviour
{
// the variable of FadeManager type outside FadeOperations
public FadeOperations.FadeManager fadeManager;
public FadeOperations[] fadeOperations;
private void Start()
{
}
}
但是,您可能会发现将枚举移到FadeOperations类之外更实际:
public enum FadeManager
{
fadeIn,
fadeOut
};
[System.Serializable]
public class FadeOperations
{
//FadeOperations body goes here...
}
然后,您可以在FadeManager
和其他类中直接访问FadeOperations
类的名称。
由您决定哪种方式更适合您。