首页 > 解决方案 > 我正在制作一个蜈蚣克隆 - 如何编写仅将每个段移动几个像素的移动逻辑

问题描述

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

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

我不追求实际代码,只是解释/概述/伪代码对我有很大帮助。谢谢你。

标签: godot

解决方案


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

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

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

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

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


然而,对于像经典 Atari 蜈蚣这样的游戏,我只需要一系列精灵,然后……每帧将它们移动几个像素。


推荐阅读