我对编程很陌生,我希望有50%的机会将一个int值加1。
这是我正在研究的:
public class IfExperiment : MonoBehaviour
{
[Range(0,100)] public int force = 0;
// Start is called before the first frame update
void Start()
{
force += 2;
}
// Update is called once per frame
void Update()
{
Rigidbody rb= GetComponent<Rigidbody>();
rb.AddForce(Vector3.one * force);
if (force > 1)
{
rb.AddForce(Vector3.forward * force);
}
}
}
它会根据我声明的,force,int,来加速运算,所以我希望有机会提高这个值来加速运算.
我尝试了很多不同的想法,什么可能是解决方案,但我刚刚开始学习C#,所以我需要一些帮助。
3条答案
按热度按时间hof1towb1#
我认为必须使用循环将值加1
hfsqlsce2#
您可以通过以下方式使用Random类:
关键是,上界是互斥的,所以你总是得到0或1(而不是0,1和2),所以是50%的几率。
此外,请确保创建
Random
类的单个示例然后将其传递给您的自定义类或方法,不要每次都在循环中创建
Random
类的新示例myzjeezk3#
我强烈建议您查看脚本API,您可以使用UnityEngine.Random.Range。