【发布时间】:2017-05-23 15:54:18
【问题描述】:
我正在使用 Unity。我想随机更改图像,可能通过按下按钮或触发事件。
我可以想到这样的解决方案:
public Image randomImage;
public Sprite s0;
public Sprite s1;
public Sprite s2;
public Sprite s3;
public Sprite[] images;
void Start(){
images = new Sprite[4];
images [0] = s0;
images [1] = s1;
images [2] = s2;
images [3] = s3;
}
void changeImage(){
Random rnd = new Random();
int num = rnd.Next(0, 4);
randomImage <Image> ().sprite = images[num];
}
然后我可以将我想改变的精灵拖到 randomImage 中,并将四个图像拖到 s0、s1、s2、s3 中。 但是,我要从中选择的图像数量远大于 4,可能是 20。我不知道是否有更聪明的方法可以做到这一点,而不是创建 20 个变量并将 20 个图像拖入其中。 谢谢你。
【问题讨论】:
-
声明
s0,s1,s2和s3在这里不是必需的,因为images数组将被序列化,允许您在检查器中直接拖放您的精灵. -
谢谢!!我没有意识到这一点。 @Hellium