用瓷砖进行碰撞检测

时间:2011-08-24 15:54:21

标签: c# xna

好吧,所以我通过以下代码在地图上绘制了瓷砖:

 for (int x = 0; x < WindowsWidth + TextureWidth; x += TextureWidth)
        {
            for (int y = 400; y < WindowsHeight; y += TextureHeight)
            {
                spriteBatch.Draw(Texture, new Rectangle((int)x, (int)y, TextureWidth, TextureHeight), Color.White);
            }
        }

我希望这段代码很好,如果没有,我想听听你的评论。

好吧,所以我不知道如何用这些瓷砖和我的播放器进行矩形碰撞检测。

评论您是否需要其他任何解释,谢谢。

1 个答案:

答案 0 :(得分:5)

如果您想要简单的矩形碰撞检测,Rectangle对象有一个非常好的方法来帮助您(Rectangle.Intersects)。拿起你的瓷砖并将它们与角色的矩形相交。您需要优化以不检查地图中的每个图块。既然听起来你是新手,你应该看看Nick Gravelyn的Tile Engine Tutorials。 The first part is here on YouTube

http://msdn.microsoft.com/en-us/library/bb464123.aspx