我已经开始学习Unity,并决定做一些实践。所以,我认为开发"Flappy Bird“作为一个实验是很棒的。但是我已经面对了这个问题。你知道吗,当你在管道之间飞行时,你会得到一分。为此,我用两个管道和一个空的游戏对象(触发器)做了一个预制件来检测与它的冲突。但是当我调用OnCollisionEnter2D方法时,它检测到的是一个预制的冲突,而不是触发器或管道。你能帮我一下吗?如何检测与预制件的子项的冲突?
发布于 2015-06-28 19:05:12
就像Uri Popov回答的那样,使用OnTriggerEnter2D()有几点需要做:
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
}
}
} 希望对你有帮助
发布于 2015-06-28 17:57:36
如果您的碰撞器被标记为触发器,则应该使用OnTriggerEnter2D()。
https://stackoverflow.com/questions/31097162
复制相似问题