我正在使用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
方法。
- 在主菜单上,点击GameObject->Create empty
- 将游戏对象命名为适当的名称。就像即将出现的立方体
- 在主菜单上,点击GameObject->Create Other->Cube
- 在资产层次结构视图中,将多维数据集拖动到多维数据集ThatWillAppear GameObject中
- 转到链接到玩家对象的C#脚本
- 添加一个公共属性以引用多维数据集ThatWillAppear
像这样:
public class PlayerController : MonoBehaviour {
public GameObject cubes; // <--- We will reference this.
// Other code
}
现在点击玩家对象并将CubesThatWillAppear拖动到您看到的Cubes属性槽中。回到C#脚本,调用这段代码,让对象在你希望的时候出现,我不能告诉你用什么方法放置它,这取决于你希望它们出现在哪里。
cubes.SetActive(true);
当你想让立方体消失时,调用以下代码:
cubes.SetActive(false);