Xna让玩家不会重叠地图部分

时间:2013-05-12 21:39:38

标签: c# xna

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

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

因为这总是如此。

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

1 个答案:

答案 0 :(得分:0)

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

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