有没有一种有效的方法可以从结构中获取随机值?

马吕斯

我有一个结构,它具有相同的类型属性:

public struct SomeTypes
{
    public string type1;
    public string type2;
    public string type3;
    public string type4;
}

它们都被赋予了独特的价值。我需要做的就是从这个结构中取一个随机值。

例如:

SomeTypes myTypes;

private string GetRandomType(){
    //Instead of:
    return myTypes.type1; //Or type2 etc.
    //This is what I want:
    return myTypes.takeOneRandom();
}

对于这种类型的问题,这可能是一个复杂的解决方案,但如果可能的话,我想知道如何使用结构来做到这一点。

雨果

我有固定数量的“类型”,更准确地说,是在 editor 中分​​配的精灵

我会简单地用给定的字段初始化一个数组,并使用它来获取随机条目 Random.Range

[Serializable]
public struct YourStruct
{
    public Sprite sprite1;
    public Sprite sprite2;
    public Sprite sprite3;
    public Sprite sprite4;

    private Sprite[] sprites;

    public Sprite RandomSprite
    {
        get
        {
            // lazy initialization of array
            if (sprites == null) sprites = new[] { sprite1, sprite2, sprite3, sprite4 };

            // pick random
            return sprites[UnityEngine.Random.Range(0, sprites.Length)];
        }
    }
}

然后像

public YourStruct yourStruct;

...

Sprite randomSprite = yourStruct.RandomSprite;

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种方法可以在Java中随机获取HashMap的值?

有没有一种有效的方法可以在Pytorch中创建随机位掩码?

有没有一种方法可以从片段中重建有效的HTML结构?

有没有一种有效的方法可以从 Admin 操作中获取 modeladmin 对象的 Django 模型?

有没有一种有效的方法可以在golang包之间共享结构?

有没有一种有效的方法来用另一种有效的方法替换数据框中的值?

有没有一种好的方法可以不公开JSON有效负载中的某些结构属性?

有没有一种方法可以检查Qt中的QObject指针是否仍然有效?

有没有一种方法可以有效地更新QML中的CAN数据?

有没有一种有效的方法可以在 VBA 集合中存储表头?

有没有一种方法可以从msbuild中获取属性的值?

有没有一种有效的方法来从字典中检索值

有没有一种方法可以有效地获取Cassandra中群集密钥上的前n个最小数据点?

有没有一种有效的方法可以从Postgres的列值中抓取子字符串?

有没有一种有效的方法来生成对称随机矩阵?

有没有一种方法可以从包含特定值的对象中查找()随机元素

有没有一种方法可以通过键从哈希映射表中随机选择值?

有没有一种方法可以将随机值添加到此类中?

有没有一种方法可以在宏中获取结构的字段名称?

有没有一种简单的方法来获取Java中的多个随机值?

有没有一种方法可以在Verilog中定义类似C的结构

有没有一种简单的方法可以用 R 绘制有效边界

有没有一种方法可以有效比较野蛮物体的场

有没有一种方法可以有效地进行小的固定范围乘法?

有没有一种更有效的方法可以根据选中的复选框进行操作?

有没有一种方法可以在调用之前检查操作是否有效?

有没有一种有效的方法可以根据经度和纬度对附近的位置进行分组?

有没有一种有效的方法可以跨不同的shell导出变量?

有没有一种有效的方法可以根据熊猫的散布数据创建颜色网格?