【发布时间】:2018-03-24 03:20:32
【问题描述】:
我尝试将启用设置为 true 和 SetActive(true) 来显示游戏结束图像。但是,它们都不起作用。我声明了一个公共图像 gameOverImage 并将 Start() 中的 gameOverImage.enabled 设置为 false。
private void Start()
{
gameOverImage.enabled = false;
}
然后在我的一个函数中,我输入:
public void killAt(Vector2 loc)
{
foreach (GameObject obj in setup.GetActive())
{
if (obj.GetComponent<PieceInfo>().GetLocation() == loc)
{
if (obj.GetComponent<PieceInfo>().GetPieceType() == 'G')
{
gameOver = true;
gameOverImage.enabled = true;
Debug.Log("?????");
}
setup.deactivate(obj);
break;
}
}
}
控制台确实有?????已登录,但游戏视图中未显示 gameOverImage。游戏结束了,因为我不能再点击我的游戏了。有任何想法吗?我还尝试了 UI 文本。也不行。
【问题讨论】:
-
您希望图像刚刚出现,还是您的场景中有此图像的实际 UI 图像?
-
@Eddge 是的,我只想在游戏结束时显示一个游戏结束图像。我在场景中没有 UI 图像。它在我的预制文件夹中。我已将它附加到脚本中。
-
如果场景中不存在您无法激活它的 GameObject,它将无法正常工作。因此,如果您有一个预制件,上面有图像,您需要实例化该对象。
-
@Eddge 但是如果我把它放到场景中,它会挡住我的游戏视图。取消选中检查器下方的框可以使其消失,但当我使用启用或 setactive 时它不会显示。我该如何解决?
-
看看我的回答。