XNA游戏如何制作蛇尾

时间:2012-02-21 02:30:05

标签: xna-4.0

我想知道如何为XNA游戏制作像尾巴一样的蛇。它自己的蛇是一个34x20像素的精灵,我的尾巴精灵是34x20精灵。 但我在找到创建故事的方法时遇到了问题。 我的第一个想法是使它基于图块,并记住访问过的图块,以限制尾部长度。但这会使尾巴滞后,所以在蛇离开瓷砖后会有尾巴。

在XNA游戏中,任何一个人都有一个想法,我可以在蛇的光滑之后制作X长度的尾巴吗?

蛇形运动基于像素位置,不能停止,只能改变方向!

1 个答案:

答案 0 :(得分:0)

Nick Gravelyn前段时间写过Sammy the Snake for XNA(尽管在XNA 3中),但我认为你会发现这对你的游戏最有用。

在这个例子中,他使用List<Point>来存储身体点,这使得添加新的身体部位非常容易:

bodyPoints.Add(new Point(2, 0));
bodyPoints.Add(new Point(1, 0));
bodyPoints.Add(new Point(0, 0));

然后,在渲染时,您可以简单地遍历身体点:

for (int i = 1; i < bodyPoints.Count - 1; i++)
{
    DrawBody(
        spriteBatch, 
        bodyPoints[i], 
        bodyPoints[i - 1], 
        bodyPoints[i + 1]);
}