多层背景视差滚动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);
});
  • 对于超长地图,可以动态加载/卸载背景块(根据摄像机视口位置)
相关推荐
oden9 天前
一个不会游戏开发的人,用 AI 把一款小游戏做到上线了
ai编程·cocos creator·游戏开发
陶锅煮新茄子2 个月前
[cc-2d-kit]CocosCreator2D游戏开发工具包🚀
cocos creator
wgslucky3 个月前
cocos creator构建window程序
cocos creator·cocos2dx·window平台游戏
烛阴3 个月前
用 MCP 调教 AI 代理:让 Cocos Creator 3.8.8 核心逻辑一键全自动生成
typescript·cocos creator
烛阴3 个月前
Cocos Creator 3.x 装饰器实战:让你的代码优雅 10 倍
typescript·cocos creator
winlife_3 个月前
把 Cocos Creator 编辑器接入 AI:Funplay MCP for Cocos 介绍
人工智能·编辑器·ai编程·cocos creator·游戏开发·claude·mcp
LcGero4 个月前
TypeScript 快速上手:泛型与工具类型
typescript·cocos creator·游戏开发
LcGero4 个月前
Cocos Creator 3.x 高维护性打字机对话系统设计与实现
cocos creator·打字机
LcGero4 个月前
Cocos Creator 三端接入穿山甲 SDK
sdk·cocos creator·穿山甲
LcGero5 个月前
Cocos Creator平台适配层框架设计
cocos creator·平台·框架设计