C# 随机选取图像的应用程序
我试图创建一个应用程序,从一堆不同的图像中随机选取并显示它。到目前为止,我已经创建了这段代码,虽然它可以工作,但显然存在一些缺陷,比如所需的处理能力,以及所有的代码行。有没有办法简化这一点C# 随机选取图像的应用程序,c#,unity3d,C#,Unity3d,我试图创建一个应用程序,从一堆不同的图像中随机选取并显示它。到目前为止,我已经创建了这段代码,虽然它可以工作,但显然存在一些缺陷,比如所需的处理能力,以及所有的代码行。有没有办法简化这一点 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Generation : MonoBehaviour { private
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Generation : MonoBehaviour
{
private int number;
public GameObject img1;
public GameObject img2;
public GameObject img3;
public GameObject img4;
public GameObject img5;
public GameObject img6;
public GameObject img7;
public GameObject img8;
public GameObject img9;
public GameObject img10;
public GameObject img11;
public GameObject img12;
public GameObject img13;
public GameObject img14;
public GameObject img15;
public GameObject img16;
public GameObject img17;
public GameObject img18;
public GameObject img19;
public GameObject img20;
public GameObject img21;
public GameObject img22;
public GameObject img23;
public GameObject img24;
public GameObject img25;
public GameObject img26;
public GameObject img27;
public GameObject img28;
public GameObject img29;
public GameObject img30;
public GameObject img31;
public GameObject img32;
public GameObject img33;
public GameObject img34;
public GameObject img35;
public GameObject img36;
public GameObject img37;
public GameObject img38;
public GameObject img39;
public GameObject img40;
public GameObject img41;
public GameObject img42;
public GameObject img43;
public GameObject img44;
public GameObject img45;
public GameObject img46;
public GameObject img47;
public GameObject img48;
public GameObject img49;
public GameObject img50;
public GameObject img51;
public GameObject img52;
public GameObject img53;
public GameObject img54;
public GameObject img55;
public GameObject img56;
public GameObject img57;
public GameObject img58;
public GameObject img59;
public GameObject img60;
public GameObject img61;
public GameObject img62;
public GameObject img63;
public GameObject img64;
public GameObject img65;
public GameObject img66;
public GameObject img67;
public GameObject img68;
public GameObject img69;
public GameObject img70;
public GameObject img71;
public GameObject img72;
public void ResetScreen()
{
for (int a = 0; a <transform.childCount; a++)
{
transform.GetChild(a).gameObject.SetActive(false);
}
}
public void RandomGenerate()
{
number = Random.Range(1, 73);
switch (number)
{
case 1:
img1.SetActive(true);
break;
case 2:
img2.SetActive(true);
break;
case 3:
img3.SetActive(true);
break;
case 4:
img4.SetActive(true);
break;
case 5:
img5.SetActive(true);
break;
case 6:
img6.SetActive(true);
break;
case 7:
img7.SetActive(true);
break;
case 8:
img8.SetActive(true);
break;
case 9:
img9.SetActive(true);
break;
case 10:
img10.SetActive(true);
break;
case 11:
img11.SetActive(true);
break;
case 12:
img12.SetActive(true);
break;
case 13:
img13.SetActive(true);
break;
case 14:
img14.SetActive(true);
break;
case 15:
img15.SetActive(true);
break;
case 16:
img16.SetActive(true);
break;
case 17:
img17.SetActive(true);
break;
case 18:
img18.SetActive(true);
break;
case 19:
img19.SetActive(true);
break;
case 20:
img20.SetActive(true);
break;
case 21:
img21.SetActive(true);
break;
case 22:
img22.SetActive(true);
break;
case 23:
img23.SetActive(true);
break;
case 24:
img24.SetActive(true);
break;
case 25:
img25.SetActive(true);
break;
case 26:
img26.SetActive(true);
break;
case 27:
img27.SetActive(true);
break;
case 28:
img28.SetActive(true);
break;
case 29:
img29.SetActive(true);
break;
case 30:
img30.SetActive(true);
break;
case 31:
img31.SetActive(true);
break;
case 32:
img32.SetActive(true);
break;
case 33:
img33.SetActive(true);
break;
case 34:
img34.SetActive(true);
break;
case 35:
img35.SetActive(true);
break;
case 36:
img36.SetActive(true);
break;
case 37:
img37.SetActive(true);
break;
case 38:
img38.SetActive(true);
break;
case 39:
img39.SetActive(true);
break;
case 40:
img40.SetActive(true);
break;
case 41:
img41.SetActive(true);
break;
case 42:
img42.SetActive(true);
break;
case 43:
img43.SetActive(true);
break;
case 44:
img44.SetActive(true);
break;
case 45:
img45.SetActive(true);
break;
case 46:
img46.SetActive(true);
break;
case 47:
img47.SetActive(true);
break;
case 48:
img48.SetActive(true);
break;
case 49:
img49.SetActive(true);
break;
case 50:
img50.SetActive(true);
break;
case 51:
img51.SetActive(true);
break;
case 52:
img52.SetActive(true);
break;
case 53:
img53.SetActive(true);
break;
case 54:
img54.SetActive(true);
break;
case 55:
img55.SetActive(true);
break;
case 56:
img56.SetActive(true);
break;
case 57:
img57.SetActive(true);
break;
case 58:
img58.SetActive(true);
break;
case 59:
img59.SetActive(true);
break;
case 60:
img60.SetActive(true);
break;
case 61:
img61.SetActive(true);
break;
case 62:
img62.SetActive(true);
break;
case 63:
img63.SetActive(true);
break;
case 64:
img64.SetActive(true);
break;
case 65:
img65.SetActive(true);
break;
case 66:
img66.SetActive(true);
break;
case 67:
img67.SetActive(true);
break;
case 68:
img68.SetActive(true);
break;
case 69:
img69.SetActive(true);
break;
case 70:
img70.SetActive(true);
break;
case 71:
img71.SetActive(true);
break;
case 72:
img72.SetActive(true);
break;
default:
break;
}
}
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine.UI;
公共阶级一代:单一行为
{
私有整数;
公共游戏对象img1;
公共游戏对象img2;
公共游戏对象img3;
公共游戏对象img4;
公共游戏对象img5;
公共游戏对象img6;
公共游戏对象img7;
公共游戏对象img8;
公共游戏对象img9;
公共游戏对象img10;
公共游戏对象img11;
公共游戏对象img12;
公共游戏对象img13;
公共游戏对象img14;
公共游戏对象img15;
公共游戏对象img16;
公共游戏对象img17;
公共游戏对象img18;
公共游戏对象img19;
公共游戏对象img20;
公共游戏对象img21;
公共游戏对象img22;
公共游戏对象img23;
公共游戏对象img24;
公共游戏对象img25;
公共游戏对象img26;
公共游戏对象img27;
公共游戏对象img28;
公共游戏对象img29;
公共游戏对象img30;
公共游戏对象img31;
公共游戏对象img32;
公共游戏对象img33;
公共游戏对象img34;
公共游戏对象img35;
公共游戏对象img36;
公共游戏对象img37;
公共游戏对象img38;
公共游戏对象img39;
公共游戏对象img40;
公共游戏对象img41;
公共游戏对象img42;
公共游戏对象img43;
公共游戏对象img44;
公共游戏对象img45;
公共游戏对象img46;
公共游戏对象img47;
公共游戏对象img48;
公共游戏对象img49;
公共游戏对象img50;
公共游戏对象img51;
公共游戏对象img52;
公共游戏对象img53;
公共游戏对象img54;
公共游戏对象img55;
公共游戏对象img56;
公共游戏对象img57;
公共游戏对象img58;
公共游戏对象img59;
公共游戏对象img60;
公共游戏对象img61;
公共游戏对象img62;
公共游戏对象img63;
公共游戏对象img64;
公共游戏对象img65;
公共游戏对象img66;
公共游戏对象img67;
公共游戏对象img68;
公共游戏对象img69;
公共游戏对象img70;
公共游戏对象img71;
公共游戏对象img72;
公共屏幕()
{
对于(int a=0;a,可以将其简化如下:
public GameObject[]imgs=new GameObject[72];//这是一个包含72个游戏对象的数组
public void随机生成(){
imgs[Random.Range(0,72)/*索引从0*/]开始。SetActive(true);
}
阅读有关C#阵列的内容。有两个选项:
除非您需要从其他地方访问这些游戏对象中的每一个,所以您应该考虑使用[SerialZeeField]而不是公共最小访问,等等< /P>
所以
[SerializeField]GameObject imgs;//unity现在警告这一点,可以安全地忽略它。我经常将其设置为null以关闭它
公共屏幕()
{
对于(int a=0;a 0)
imgs[随机范围(0,imgs长度)].SetActive(真);
}
然而,你的resetScreen代码让我想到,它们都是当前对象的子部分,对吗?在这种情况下,如果IMG是这个对象的唯一子部分,你可以做得更少,但前提是它们是唯一的位
只是…根本没有数组,因为unity已经有了它
public void ResetScreen()
{
for (int a = 0; a <transform.childCount; a++)
{
transform.GetChild(a).gameObject.SetActive(false);
}
}
public void RandomGenerate()
{
// if you supply random range with ints, it picks ints, between first and 1 less than last which is what you wanted.
if (transform.childCount>0)
transform.GetChild(Random.Range(0, transform.childCount)).gameObject.SetActive(false);
}
public void ResetScreen()
{
对于(int a=0;a 0)
GetChild(Random.Range(0,transform.childCount)).gameObject.SetActive(false);
}
使用一个数组,然后按整数选择一个介于0和数组长度之间的随机数?
public void ResetScreen()
{
for (int a = 0; a <transform.childCount; a++)
{
transform.GetChild(a).gameObject.SetActive(false);
}
}
public void RandomGenerate()
{
// if you supply random range with ints, it picks ints, between first and 1 less than last which is what you wanted.
if (transform.childCount>0)
transform.GetChild(Random.Range(0, transform.childCount)).gameObject.SetActive(false);
}