多层背景视差滚动Parallax Scrolling

基础原理

视差效果的核心是:不同图层的移动速度不同(距离玩家越远的图层移动越慢)

实现步骤

  1. 准备分层背景
  • 将背景拆分成多个图层,按层级排序
  1. 挂载视差脚本
  • 为每个图层添加自定义脚本,控制其移动速度
scala 复制代码
// ParallaxLayer.ts
const { ccclass, property } = cc._decorator;

@ccclass
export class ParallaxLayer extends cc.Component {
    @property
    public speedFactor: number = 0.5; // 速度系数(0~1)

    private _camera: cc.Node; // 主摄像机(或跟随目标)
    private _startPos: number; // 初始位置

    start() {
        this._camera = cc.find("Main Camera"); // 根据实际路径调整
        this._startPos = this.node.x;
    }

    update() {
        // 根据摄像机位置计算图层偏移
        this.node.x = this._startPos + this._camera.x * this.speedFactor;
    }
}
  1. 进阶优化
  • 如果使用cocos creator 3.x的摄像机组件,可以直接监听摄像机的位移事件
javascript 复制代码
// 监听摄像机移动
cc.Camera.main.node.on('position-changed', (pos: cc.Vec3) => {
    this.updateLayerPosition(pos.x);
});
  • 对于超长地图,可以动态加载/卸载背景块(根据摄像机视口位置)
相关推荐
wgslucky14 天前
cocos creator构建window程序
cocos creator·cocos2dx·window平台游戏
烛阴1 个月前
用 MCP 调教 AI 代理:让 Cocos Creator 3.8.8 核心逻辑一键全自动生成
typescript·cocos creator
烛阴1 个月前
Cocos Creator 3.x 装饰器实战:让你的代码优雅 10 倍
typescript·cocos creator
winlife_1 个月前
把 Cocos Creator 编辑器接入 AI:Funplay MCP for Cocos 介绍
人工智能·编辑器·ai编程·cocos creator·游戏开发·claude·mcp
LcGero2 个月前
TypeScript 快速上手:泛型与工具类型
typescript·cocos creator·游戏开发
LcGero2 个月前
Cocos Creator 3.x 高维护性打字机对话系统设计与实现
cocos creator·打字机
LcGero2 个月前
Cocos Creator 三端接入穿山甲 SDK
sdk·cocos creator·穿山甲
LcGero2 个月前
Cocos Creator平台适配层框架设计
cocos creator·平台·框架设计
LcGero2 个月前
Cocos Creator 业务与原生通信详解
android·ios·cocos creator·游戏开发·jsb
LcGero3 个月前
TypeScript 快速上手:前言
typescript·cocos creator·游戏开发