【发布时间】:2019-07-03 03:41:17
【问题描述】:
这就像一个马里奥游戏。玩家四处跳跃,必须收集一些物品。
问题是我的光线没有与项目盒碰撞器发生碰撞。
我需要射线知道,所以我可以摧毁玩家碰撞的正确物品。
void OnCollisionEnter2D(Collision2D colisor)
{
if((colisor.gameObject.name == "floor" || colisor.gameObject.name == "floor2" || colisor.gameObject.name == "floor3"))
{
anim.SetBool("jump", false);
anim.SetFloat("speed", 0);
}
if (colisor.gameObject.name == "space(Clone)")
{
RaycastHit hit;
Ray ray = new Ray(player.position, transform.right);
Debug.Log("hit1");
if (Physics.Raycast(ray, out hit))
{
BoxCollider bc2d = hit.collider as BoxCollider;
Debug.Log("hit2");
if (bc2d != null)
{
Destroy(bc2d.gameObject);
}
}
}
}
【问题讨论】:
-
我几乎可以肯定这有一个重复,但
Physics不是Physics2D -
还要确保你的起点不在另一个对撞机内...