【发布时间】:2015-05-26 22:24:24
【问题描述】:
在我的 2d 游戏中,世界是按方块排列的(就像 2d minecraft 一样),我试图让玩家在按下地雷按钮时打破他下方的方块。这是我的代码:
if(Input.GetButtonDown("MineDown"))
{
Transform other = Physics2D.Raycast(new Vector2(gameObject.transform.position.x, gameObject.transform.position.y), new Vector2(Vector3.down.x, Vector3.down.y), Mathf.Infinity).transform;
Destroy(other.gameObject);
}
唯一的问题是当我按下地雷按钮时,玩家会被摧毁,而不是它下面的方块。这不是我预期的行为,但我不知道如何解决。
【问题讨论】:
-
这很奇怪。我已经使用 Unity3d 一段时间了。您是否尝试过使用 Debug.DrawLine 来查看 Raycast 的开始位置和结束位置?您可以尝试直接在他们的论坛中提问,那里肯定会有更好的答案。
-
我使用了 Debug.DrawRay,我得到了我所期望的,一条从我的播放器中心直接到地面的线。我也在 Unity3D.com 的论坛上发布了这个问题。
标签: unity3d game-physics raycasting