【发布时间】:2017-09-23 22:47:45
【问题描述】:
我想在发生碰撞时统一实例化一个预制件。
这是我的代码:
if (IgnourColl.Ddeer = true) {
Instantiate(Deer, new Vector3(TPlayer.transform.position.x + 5, TPlayer.transform.position.y, 0), Quaternion.identity);
IgnourColl.Ddeer = false;
}
IgnourColl.Ddeer = false; 是一个布尔值,如果发生冲突则变为真。
我在 true 之后添加 false 以便实例化停止,直到另一个碰撞...
一切正常,但 if 语句不起作用,并且在第一个 prefab 实例化后实例化并没有停止。
【问题讨论】:
-
你能把整个函数贴出来吗?
-
if (IgnourColl.Ddeer = true)也不正确,应该抛出一个编译器警告,询问您是否真的打算进行 assignment 而不是 comparison。 也没有必要== true无论如何。if(IgnourColl.Ddeer)就足够了。 -
另外,您使用的是 C# 还是 UnityScript?即使 UnityScript 明确表示“不要将此标签用于 C# 中的脚本”,您也已经用这两个标签标记了您的问题
-
现在看起来不错,但是现在我让鹿与玩家发生碰撞时的速度为 0....我如何让它回到 9 以实例化鹿女巫并且他仍然碰撞的鹿0 ?!!
标签: c# unity3d unityscript