蛇游戏,如何根据方向移动蛇部分?

时间:2013-02-10 03:40:54

标签: libgdx

我在Libgdx制作Snake游戏,但我不知道如何根据其头部方向移动Snake部分。请帮帮我......

3 个答案:

答案 0 :(得分:2)

只有头部移动,其他人移动到其父部。

想象一下蛇的未来位置作为头部,然后每个后续部分将移动到它的头部。

特别是

设A =部分数组,其中每个部分-1是该部分的“父” 然后你可以移动除“实际头部”以外的所有部分到它的“头部”。 此时,两个前导头具有相同的位置。 将“实际头部”移动到“新头部位置”

我认为这听起来是正确的。

答案 1 :(得分:0)

您将使用保存当前移动方向的变量和包含所有蛇形部分的列表。

在每个运动阶段,您将运动变量与4种可能状态(LEFT,UP,RIGHT,BOTTOM)进行比较,并递增/递减列表中第一个元素(Head)的x / y。其余部分采用位于列表前面的元素的位置

for (int i=1 ; i< list.size() ; i++ )
list.get(i).setPosition( list.get(i-1).getX(), list.get(i-1).getY() );

答案 2 :(得分:0)

获取一个arrayList,你必须在其中保存snakeHead的最后x和y位置的x和y位置。使用此arrayList将x和Y位置赋予bodypart的其余部分。