我想知道如何为XNA游戏制作像尾巴一样的蛇。它自己的蛇是一个34x20像素的精灵,我的尾巴精灵是34x20精灵。 但我在找到创建故事的方法时遇到了问题。 我的第一个想法是使它基于图块,并记住访问过的图块,以限制尾部长度。但这会使尾巴滞后,所以在蛇离开瓷砖后会有尾巴。
在XNA游戏中,任何一个人都有一个想法,我可以在蛇的光滑之后制作X长度的尾巴吗?
蛇形运动基于像素位置,不能停止,只能改变方向!
答案 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]);
}