自学一周Godot尝试完全用单位格移动大败而归

合集 · Godot学习日志 (3)

  1. 1:01
    自学一周Godot尝试完全用单位格移动大败而归
  2. 0:09
    找到了网格移动和碰撞的新方法,准备重构代码
  3. 1:18
    godot第二周 重构与基本功能实现

Parts

  1. P1 · farm
  2. P2 · game.tscn - 新建游戏项目3 - Godot Engine 2026-06-24 00-44-57
Description
灯光是用来提示交互地块的
本来打算根据教程自己代码重构一个农场游戏
但是突然小巧思了一下不用平滑移动而是单位格移动来更适配种地游戏
于是完全弃用引擎本来的物理系统把所有逻辑放到瓦片单位格上
虽然成功按单位格移动了但是出现了一堆问题
代码在2P

不用物理系统做起来还是太累了,后续难以进行
但是还是记录下初学时候的小巧思

Comments

天潭清响 2026-06-24

网格移动需要记录地图单位格尺寸的,这个尺寸扔管理器或者是用常量都行。然后移动到目的最后一帧需要检测是否还有移动指令输入,有就在同帧赋值新坐标继续移动,没有就直接赋值目标坐标

♥ 2

烟汐忆梦_YM 2026-06-24

就算用引擎物理也可以用tween去实现移动

♥ 2 ↩ 2

阿祺MonkeyQian 2026-06-23

[25年新收藏集表情包静态_奸笑]

♥ 2

该死的小怪兽 2026-07-12

格子移动这个挺简单的,直接Position移动格子size就可以了啊,碰撞直接Areas2D,你去找一下推箱子的教程,参考里面的移动就明白了。只需要在输入时移动,加判断是否有碰撞就行了。 如果你是根据Tile移动,那也简单,自带有这个方法的。获取输入,判断下一个(TileID+方向输入)是否存在,判断一下其他层的TileId是否有作物。

♥ 1

bili_22994260182 2026-06-23

如果用move_and_collide()得话应该就不会这么麻烦了

♥ 1 ↩ 1