![](/img/trans.png)
[英]OnTriggerEnter2D(Collider2D col) doesn't seem to be working
[英]OnTriggerEnter2D doesn't work at all. Unity This message parameter has to be type of Collider2D
我显然做错了什么。 Unity 给了我:
脚本错误:OnTriggerEnter2D 此消息参数的类型必须为:Collider2D
我在一个空的 object 上有一个 BoxCollider,它是我的玩家的孩子。 当它碰撞时,什么也没有发生。 我已将 IsTrigger 设置为 true。
玩家的子脚本:
public class EnemyHurtCollider : MonoBehaviour
{
private Rigidbody2D rb;
private Collider2D coll;
private void Start()
{
GameObject.Find("Player").GetComponent<PlayerController>();
rb = GameObject.Find("Player").GetComponent<Rigidbody2D>();
coll = GetComponent<Collider2D>();
}
public void OnTriggerEnter2D(Collision2D other)
{
if (other.gameObject.tag == "Enemy")
{
GameObject.Find("Player").GetComponent<PlayerController>().state = State.hurt; //state hurt
if (other.gameObject.transform.position.x > transform.position.x)
{
Debug.Log("HURT");
//if enemy is to my right when colliding I should be damaged and move left
rb.velocity = new Vector2(-GameObject.Find("Player").GetComponent<PlayerController>().hurtForce, rb.velocity.y);
}
else
{
Debug.Log("HURT");
//if enemy is to my left when colliding I should be damaged and move right
rb.velocity = new Vector2(GameObject.Find("Player").GetComponent<PlayerController>().hurtForce, rb.velocity.y);
}
}
}
}
这些是正确的签名:
private void OnTriggerEnter2D(Collider2D other)
{
throw new NotImplementedException();
}
private void OnTriggerExit2D(Collider2D other)
{
throw new NotImplementedException();
}
private void OnTriggerStay2D(Collider2D other)
{
throw new NotImplementedException();
}
private void OnCollisionEnter2D(Collision2D other)
{
throw new NotImplementedException();
}
private void OnCollisionExit2D(Collision2D other)
{
throw new NotImplementedException();
}
private void OnCollisionStay2D(Collision2D other)
{
throw new NotImplementedException();
}
看看你做了什么? 您混淆了 function OnTriggerEnter2D
但您正在传递OnCollisionEnter2D
的参数。
所以改变: public void OnTriggerEnter2D(Collision2D other)
到private void OnTriggerEnter2D(Collider2D other)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.