1

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

4

3 回答 3

2

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

将蛇的未来位置想象为头部,那么接下来的每个部分都会移动到它的头部。

尤其是

让 A = 零件数组,其中每个零件 1 是该零件的“父”,然后您可以将除“实际头”之外的所有零件移动到其“头”。此时,两个领先的头部位置相同。将“实际头部”移动到“新头部位置”

我认为这听起来很对。

于 2013-02-10T03:51:55.820 回答
0

取一个 arrayList,您必须在其中保存蛇头最后一个 x 和 y 位置的 x 和 y 位置。使用此 arrayList 将 x 和 Y 位置分配给 bodypart 的其余部分。

于 2014-01-27T13:58:52.507 回答
0

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

在每个移动阶段,您将移动变量与 4 种可能的状态(左、上、右、下)进行比较,并增加/减少列表中第一个元素(头部)的 x / y。其余部分采用列表中位于它们前面的元素的位置

for (int i=1 ; i< list.size() ; i++ )
list.get(i).setPosition( list.get(i-1).getX(), list.get(i-1).getY() );
于 2013-11-18T09:52:13.653 回答