我正在制作蜈蚣克隆 - 如何编写仅将每个段移动几个像素的移动逻辑

问题描述

我正在制作一个街机蜈蚣游戏克隆,想知道是否有办法模拟蛇式移动,重要的是,移动只需几个像素,而不是字符/块。我已经看到你采用蛇的最后一部分并使用它来创建新头部的逻辑,但这些示例基于块/字符而不是像素。我想将蜈蚣每次移动几个像素。

有没有办法让蜈蚣围绕头部移动,而不是为蛇的每个部分分配一个运动向量。每次移动代码运行时,整个蜈蚣只移动了几个像素?

我不是在追求实际的代码,只是一个解释/概述/伪代码对我来说会有很大的帮助。谢谢。

解决方法

对于蛇类游戏中的连续移动,您可以将其表示为段列表。

前进会增加同一方向的头部段的长度,并减少尾部的长度。当尾部的长度达到 0 时,该段被删除,下一段现在是尾部。并且确保长度保持一致。

改变方向将涉及在新方向的头部添加一个新线段。

这种方法还具有不受限于一组固定角度的优点。

为了显示它,每个段都是一个对象。旋转和拉伸以匹配线段的端点。您可以为头部和尾部使用额外的精灵。


但是,对于像经典的 Atari 蜈蚣这样的游戏,我只会有一系列精灵,而且……每帧移动几个像素。