GDevelop 中文文档 下载 App

图层与相机:视差滚动和镜头跟随

图层决定「谁画在谁上面、谁跟着镜头动」,相机决定「玩家看哪里」。两者配合才有了滚动关卡与悬浮 HUD。

图层三件事

  1. 排序:图层列表从上到下即绘制顺序(上层盖下层)。典型分层:背景 < 游戏层 < 前景 < UI;
  2. 相机跟随开关:UI 层关掉「跟随相机」后,内容钉在屏幕上——血条、按钮、虚拟摇杆都放这层;
  3. 图层特效:每层可独立挂着色器(整个 UI 层加模糊、背景层加暗角)。

视差滚动(远景动得慢、近景动得快)的实现:把远景放单独图层,事件里按镜头 X 位移乘一个小于 1 的系数移动该层,层次感立刻出来。

相机控制

相机控制全是事件动作,常用的几类:

# 镜头跟随玩家(最简写法:在相机动作里以玩家为中心)
每帧:把相机 X 设为 Player.X() + CameraWidth()/2
每帧:把相机 Y 设为 Player.Y() + CameraHeight()/2

# 平滑跟随:数值缓动过去
把相机 X 用缓动滑向 Player.X() + CameraWidth()/2

# 限制不看到关卡外
配合关卡边界对象/表达式做夹取(clamp)

实战分层模板

图层跟随相机常见内容
背景是(或视差)远景、天空
游戏是关卡、角色、敌人
前景是遮挡装饰(草丛、雾)
UI否血条、分数、按钮、摇杆

UI 层记得配合锚点行为:锚点定在右上角的元素,任何分辨率下都贴着右上角。

常见错误