首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测与预制件的子项的冲突

如何检测与预制件的子项的冲突
EN

Stack Overflow用户
提问于 2015-06-28 15:20:27
回答 2查看 797关注 0票数 2

我已经开始学习Unity,并决定做一些实践。所以,我认为开发"Flappy Bird“作为一个实验是很棒的。但是我已经面对了这个问题。你知道吗,当你在管道之间飞行时,你会得到一分。为此,我用两个管道和一个空的游戏对象(触发器)做了一个预制件来检测与它的冲突。但是当我调用OnCollisionEnter2D方法时,它检测到的是一个预制的冲突,而不是触发器或管道。你能帮我一下吗?如何检测与预制件的子项的冲突?

EN

回答 2

Stack Overflow用户

发布于 2015-06-28 19:05:12

就像Uri Popov回答的那样,使用OnTriggerEnter2D()有几点需要做:

  1. 将OnTriggerEnter2D()脚本放在您的空游戏对象上,并且不要忘了在您的空对象上附加collider2D。
  2. 确保isTrigger签入collider2D选项
  3. 还确保您的玩家有标签,您可以将标签设为您自己的,在此示例中,我将" player“标签给了我的玩家游戏对象
  4. 示例脚本(我很累,但工作正常)

代码语言:javascript
复制
public class YourTriggerScript: MonoBehaviour {
void Start () {

}

// Update is called once per frame
void Update () {


}

void OnTriggerEnter2D(Collider2D collider)
{
    if (collider.GetComponent<Collider2D>().tag == "Player") 
    {
        Debug.Log ("Collided");
        // do something or you can + your point here
    }
}
}  

希望对你有帮助

票数 3
EN

Stack Overflow用户

发布于 2015-06-28 17:57:36

如果您的碰撞器被标记为触发器,则应该使用OnTriggerEnter2D()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31097162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档