Kub*_*320 0 c# unity-game-engine
我有个问题。每当我开始游戏时,我都会尝试随机化背景图像,但无论我重新滚动多少次,“BackgroundImageNumber”的输出始终为 1。提前致谢。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class MenuBackgroundChooser : MonoBehaviour
{
Image BackgroundImage;
int BackgroundImageNumber;
public Sprite Background1;
public Sprite Background2;
void Awake()
{
BackgroundImage = GetComponent<Image>();
}
void Start()
{
//Set the second nuber to the number of images and increase the switch when adding a background
BackgroundImageNumber = Random.Range(1, 2);
Debug.Log(BackgroundImageNumber);
switch(BackgroundImageNumber)
{
case 1:
BackgroundImage.sprite = Background1;
break;
case 2:
BackgroundImage.sprite = Background2;
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您检查 Unity 的 Random.Range(int,int) 方法的文档:https://docs.unity3d.com/ScriptReference/Random.Range.html ,您将看到它被声明为public static int Range(int minInclusive, int maxExclusive),请注意第二个数字是 max独家的。
因此,为了获得随机值 1 或 2,您应该像这样使用它:Random.Range(1,3)