godot - 我正在制作一个蜈蚣克隆 - 如何编写仅将每个段移动几个像素的移动逻辑
问题描述
我正在制作街机蜈蚣游戏克隆,想知道是否有办法模拟蛇式移动,重要的是,移动需要只有几个像素而不是字符/块。我已经看到了将蛇的最后一部分用于创建新头部的逻辑,但这些示例基于块/字符而不是像素。我想每次移动蜈蚣移动几个像素。
有没有一种方法可以围绕头部段移动蜈蚣,而不是为蛇的每个段分配一个移动向量。每次移动代码运行时,整个蜈蚣只移动了几个像素?
我不追求实际代码,只是解释/概述/伪代码对我有很大帮助。谢谢你。
解决方案
对于蛇类游戏中的连续运动,您可以将其表示为段列表。
前进将增加头部在同一方向上的长度,并减少尾部的长度。当尾部的长度达到 0 时,该段被删除,下一个段现在是尾部。并且确保长度保持一致。
改变方向将涉及在新方向的头部添加一个新段。
这种方法还具有不限于一组固定角度的优点。
为了显示它,每个段都是一个对象。旋转和拉伸以匹配线段的端点。您可以为头部和尾部使用额外的精灵。
然而,对于像经典 Atari 蜈蚣这样的游戏,我只需要一系列精灵,然后……每帧将它们移动几个像素。
推荐阅读
- javascript - 需要算法或解决方案来检查多个范围是否重叠
- channel - 频道检查为空,即使它有内容
- flutter - Flutter 如何使用 Navigator.pop 从第二页发送数据
- oracle - 相同条件下 ODI 数据立方体大小与 Oracle 数据立方体大小的差异
- javascript - Google Sheets Script - 如何根据一组预定义的规则随机选择单元格
- javascript - 如何正确传递道具?
- javascript - 使用邮递员发送删除请求时出错
- powershell - 如何使用 PowerShell 脚本从分发列表中获取用户作为非交换管理员或非租户管理员?
- wordpress - Woocommerce 防止自定义表单字段被订单搜索
- twitter - 如何使用 twitter API 检索用户最近 7 天的推文?