Unity学习笔记 随机返回一个枚举型的值

文章介绍了在游戏开发过程中,如何处理枚举类型以生成随机值。由于枚举本质上是整型的别名,可以将枚举值转换为int,利用Random.Range函数生成随机数,再将随机数转换回枚举类型,从而得到枚举类型的随机值。示例代码展示了如何实现这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习游戏开发中需要获取一个数据类型的随机值是非常常见的事情,但当需要对某个枚举类型返回一个随机值,虽然枚举型是值类型,但它并不符合Random.range()函数可接受的参数类型。

枚举类型包含自己的值,类似于给一个整型添加了一个别名,每个别名对应一个整型数并且按升序排列。

因此解决的思路是将取出所需要随机取值区间的左右边界所对应的枚举值,

进行int类型转换,然后放进Random.range()函数进行随机取值,并将这个随机值再转换回原先的枚举型。

public enum test
    {
        one,
        two,
        three
    }
public test GetRandomTest()
    {
        int i = Random.Range(0, 3);
        test t_test = (test)i;
        return t_test;
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值