【自定义操作】区块滚动

一种将画面分割,当角色移动到边缘时自动平滑滚动的系统。
无论是TOP视角的动作RPG,还是SIDE视角的银河恶魔城类游戏,
似乎都能派上用场。

这里是≪区块学校≫插件的公开发布。

■内容物
在执行动作中追加以下功能:

≪Magic Tile≫
CA_RoomScrollAction.gd 主程序
CA_RoomLayout.gd 用于在场景中绘制区块分配节点的
CA_RoomBigRoomConfig.gd 大型房间1个的配置
CA_RoomAreaConfig.gd 区域1个的配置

CA_RoomAreaConfig.gd (2.8 KB)
CA_RoomBigRoomConfig.gd (2.2 KB)
CA_RoomLayout.gd (35.3 KB)
CA_RoomScrollAction.gd (86.6 KB)

附带一个在角色脚下投射阴影的插件


image
CA_ShadowCastAction.gd (75.5 KB)

※安装方法
使用动作游戏制作工具 G2.0(1.3.x及以上版本)打开上述*.gd文件,
将其拖拽到“素材管理”→“脚本”中。

安装后,执行动作中将追加相应功能。

删除时,建议先从动作中移除已使用的功能,然后再删除文件,这样更安全。
强烈建议在安装前备份项目。

示例项目已在Itch.io上免费公开

■内容说明

这是一个什么样的插件

请将整个地图想象成由与屏幕大小相同的正方形紧密排列而成的网格,
这些正方形每一个都是一个“房间”。
当玩家跨过房间边界的瞬间,游戏会暂停一次,整个画面流向
相邻的房间。流动结束后,游戏恢复运行。

也可以创建大型房间

你可以指定“将这2x2格合并为一个大型房间”。在大型房间内不会发生滚动,
摄像机会跟随玩家移动。只有当玩家到达房间边缘时,才会发生滚动。

1.1_放置一个管理用对象
(1) 创建一个新的对象(不需要外观和碰撞判定)
(2) 取一个易懂的名字,例如:区块管理器
(3) 在游戏场景中只放置一个
(4) 在该状态的“执行动作”中
选择“Camera / 相机”标签 → 添加“Room Scroll / 区块滚动”

※也可以直接使用在itch.io上发布的“区块管理器.tscn”文件。

1.2_告知摄像机要跟随的目标

1.3_在场景内自动生成区块布局节点

(1) 打开地图(游戏场景),并放置好区块管理器对象。
(2) 在动作“区块滚动”的
“区块布局”→“创建区块布局”中勾选


(3) 地图中将创建RoomLayout,并处于选中状态

(4) 保存场景

至此,设置准备已完成。

2.1_调整尺寸
查看RoomLayout的检查器(右侧详细信息),
输入实际显示的画面尺寸作为区块大小。

这样即可实现屏幕边缘的滚动。
场景内会自动用蓝色边框将地图分割开来


通过≪移动≫RoomLayout节点,可以调整分割的起始位置。

※若需进行精细的位置调整
请调整捕捉设置


将网格的步长或间隔设置得更精细。

2.2_应对UI等导致的画面尺寸变化
查看RoomLayout的检查器(右侧详细信息),
输入左上和左下的偏移坐标。


3.1_创建大型房间
可以创建比屏幕更大的房间,例如Boss房或大厅。

3.2_查询格子坐标
场景内的各个区块格子上显示了坐标,请记录下来。

3.3_进行注册
查看场景内RoomLayout的检查器,
填写出现的字段。
X:X坐标
Y:Y坐标 用于指示起始房间的位置

Z:宽度
W:高度 用于确定大型房间的大小

3.3_确认
在大型房间内,摄像机会滚动并跟随角色移动。

4.1_其他功能
已创建的“区块管理器”对象的动作设置
支持自定义调整。

4.2_过渡
可以设置滑动、切换、速度等。

4.3_房间导出项
可以通过写入变量或开关,用作生成敌人的触发器。
image

附带的阴影投射插件

(ShadowCastAction)


指定图层作为阴影格,进入时施加斜向遮罩。

正常状态下,投影指定大小的脚下阴影。
image

5.1_创建阴影图层
(1) 在瓦片地图上添加一个专用于阴影的图层,并将其命名为 “Shadow”
(2) 在该图层上绘制半透明的阴影瓦片

5.2_注册到角色
在初始状态中添加“光与影”动作。


调整默认设置,自定义阴影角度等。

5.3_角色脚下阴影
这是一个简易的脚下阴影功能。
开启“投射阴影”以查看效果,并进行调整。

本次涉及4个文件的整合,实现难度较高。
建议先查看上传至Itch.io的示例项目。

2 个赞