在c#中的条件下激活游戏对象



我正在使用c#in unity创建这个基本游戏,我有很多带有标签"cube"的对象,我希望在count>=10时出现,count是以前声明的变量,可以正常工作,并在收集游戏项目时递增。我在很多方面都尝试过很多次,但似乎都没能奏效。这是我最近的一次尝试。

void WinText()
{
    other.gameObject.tag == "Cube";
        if (count >= 10)
        {
            other.gameObject.SetActive(True);
        }
}

我收到错误"名称"other"在当前上下文中不存在",但在收集游戏对象时,类似的代码在代码的早期工作。

void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "Pickup") 
        {
            other.gameObject.SetActive(false);
            count = count + 1;
            SetCountText();
            WinText ();
        }
    }

所以我真的不确定当满足某个条件时,我应该如何使带有"Cube"标签的对象出现。我在unity网站上四处寻找关于对象销毁的帮助,我发现了一些有用的代码,但它们在C#中没有示例,只有JavaScript(http://docs.unity3d.com/Documentation/ScriptReference/Object.Destroy.html)任何帮助都将不胜感激,感谢:)

好吧,我们基本上需要做两件事。首先我们需要这些物体。然后,我们需要一种从C#脚本访问它们的方法,并调用SetActive方法。

  1. 在主菜单上,点击GameObject->Create empty
  2. 将游戏对象命名为适当的名称。就像即将出现的立方体
  3. 在主菜单上,点击GameObject->Create Other->Cube
  4. 在资产层次结构视图中,将多维数据集拖动到多维数据集ThatWillAppear GameObject中
  5. 转到链接到玩家对象的C#脚本
  6. 添加一个公共属性以引用多维数据集ThatWillAppear

像这样:

public class PlayerController : MonoBehaviour {
    public GameObject cubes; // <--- We will reference this.
        // Other code
}

现在点击玩家对象并将CubesThatWillAppear拖动到您看到的Cubes属性槽中。回到C#脚本,调用这段代码,让对象在你希望的时候出现,我不能告诉你用什么方法放置它,这取决于你希望它们出现在哪里。

cubes.SetActive(true);

当你想让立方体消失时,调用以下代码:

cubes.SetActive(false);

最新更新