【发布时间】:2019-04-29 04:46:44
【问题描述】:
我目前正在尝试制作一个随机图标弹出机制,例如,客户随机订购比萨饼。
我正在尝试制作一个随机显示机制,其中每个客户都有一个带有开关盒的随机订单,它会像从开关盒中选择的订单一样显示。
我将订单图标作为一个大小为 3 的游戏对象数组。所以当他们停止订购时,它会激活他们头顶的游戏对象。
代码如下:
private void OnCollisionStay2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("OrderingPoint"))
{
int rand = Random.Range(0, 3);
switch (rand)
{
case 0:
OrderPicture[0].SetActive(true);
if (rand == 0 && collision.gameObject.name == "Rendang")
{
OrderPicture[0].SetActive(false);
GetRendang();
}
//RecipeObject.Artwork.SetActive(false);
break;
case 1:
//CuisineObject.Artwork.SetActive(true);
OrderPicture[1].SetActive(true);
if (rand == 1 && collision.gameObject.name == "Gado Gado")
{
OrderPicture[1].SetActive(false);
GetGadoGado();
}
//RecipeObject.Artwork.SetActive(false);
break;
case 2:
OrderPicture[2].SetActive(true);
if (rand == 2 && collision.gameObject.name == "Soto")
{
OrderPicture[2].SetActive(false);
GetSoto();
}
//CuisineObject.Artwork.SetActive(false);
break;
}
}
}
我预计它会启用图像游戏对象,但它不会。那我错过了什么?
【问题讨论】:
-
查看您的代码,您似乎首先在每种情况下执行 OrderPicture.SetActive,然后在 if 语句中立即停用它...... if 语句应该做什么?
标签: c# visual-studio unity3d triggers switch-statement