发生碰撞时如何实例化预制件c#
Posted
技术标签:
【中文标题】发生碰撞时如何实例化预制件c#【英文标题】:How to Instantiate prefab when have a collision c# 【发布时间】: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 ?!!
【参考方案1】:
对不起,但是使用“OnCollisionEnter()”会在碰撞进入时做一些事情。 无需设置为 false。
【讨论】:
好吧 thxx 很多 .. 现在我将鹿的速度设置为 0 当他进入碰撞时......我如何让它回到 9 并且他碰撞的鹿仍然是 0 ?!! 我想我不明白你的问题,当碰撞..结束时有“OnCollisionExit”来做事 鹿与玩家发生碰撞时的速度为 0 ......我如何让它回到 9 到鹿女巫我将实例化并且他已经碰撞的鹿仍然是 0 ?!!跨度> 这与您提出的问题不同。如果您有其他问题,请在新问题中提出... 我还是听不懂他的意思。【参考方案2】:我通过制作一个盒子碰撞器来替换实例化,当他与玩家碰撞时,他使鹿游戏对象出现,所以我不需要实例化
【讨论】:
以上是关于发生碰撞时如何实例化预制件c#的主要内容,如果未能解决你的问题,请参考以下文章