0

在我的游戏中,我有一个想法,在地图上设置 3 层,第一层是地面,第二层是道路/草地/等,第三层是无法通行的物体,例如墙壁/建筑物/湖泊/河流/树木。我有它,所以玩家位于屏幕中间,地图的图层向玩家想要去的相反方向移动。我在想,如果 playerModel 与在 impassableLayer 上绘制的任何东西重叠,那么我会有不同的层,那么 playerModel 会向后移动。但是,由于我是 xna 的新手,我不知道如何让游戏识别 playerModel 与 impassableLayer 上的不可通过对象重叠。impassableLayer 显然只在其上绘制了对象,并且在没有对象的任何地方都是空的。因此,我不能只说:

if (playerModel.X > impassableLayer.X)
{
   impassableLayer.X++;
}

因为这总是正确的。

有没有办法判断一个对象是否与图层重叠?

4

1 回答 1

0

您正在寻找的是我相信的碰撞检测。您希望防止对象相互穿过。它不像你的想法那么简单。真正的碰撞检测需要大量的工作,但它们有大量的教程。

您可以随时在网站或谷歌上搜索,那里有很多资源。

于 2013-05-12T21:56:36.343 回答