BackgroundUsageExample.md 2.5 KB

背景管理器使用说明

概述

BackgroundManager 组件用于动态设置游戏关卡的背景图片。它可以根据关卡配置自动加载不同的背景图片到 Canvas/GameLevelUI/Background 节点。

设置步骤

1. 在场景中添加 BackgroundManager 组件

  1. 在 Cocos Creator 编辑器中打开 GameLevel.scene
  2. 创建一个新的空节点,命名为 BackgroundManager
  3. 为该节点添加 BackgroundManager 组件
  4. BackgroundManager 组件的属性面板中,将 Canvas/GameLevelUI/Background 节点拖拽到 backgroundNode 属性

2. 在 InGameManager 中配置

  1. InGameManager 组件的属性面板中,将 BackgroundManager 节点拖拽到 backgroundManagerNode 属性

3. 关卡配置

在关卡配置文件中添加 backgroundImage 字段:

const levelConfig = {
    levelId: 1,
    levelName: "第一关",
    backgroundImage: "images/LevelBackground/BG2", // 背景图片路径
    // 其他配置...
};

背景图片资源

默认背景图片

  • images/LevelBackground/BG1 - 默认背景
  • images/LevelBackground/BG2 - 第二个背景
  • images/LevelBackground/BG3 - 第三个背景

添加新背景图片

  1. 将背景图片放置在 assets/resources/images/LevelBackground/ 目录下
  2. 确保图片格式为 Cocos Creator 支持的格式(PNG、JPG等)
  3. 在关卡配置中使用相对路径引用,例如:images/LevelBackground/NewBackground

工作原理

  1. 初始化InGameManagerstart() 方法中初始化 BackgroundManager 组件
  2. 配置应用:当调用 applyLevelConfig() 方法时,会检查关卡配置中的 backgroundImage 字段
  3. 背景加载BackgroundManager 使用 resources.load() 动态加载指定的背景图片
  4. 背景设置:将加载的 SpriteFrame 应用到 Canvas/GameLevelUI/Background 节点的 Sprite 组件

错误处理

  • 如果指定的背景图片加载失败,会在控制台输出错误信息
  • 如果没有配置 backgroundImage,会自动使用默认背景 images/LevelBackground/BG1
  • 如果 BackgroundManager 组件未正确配置,会在控制台输出警告信息

调试信息

在游戏运行时,可以在控制台查看以下日志信息:

  • [BackgroundManager] 背景管理器初始化成功
  • [BackgroundManager] 设置背景: {backgroundPath}
  • [BackgroundManager] 背景加载成功: {backgroundPath}
  • [InGameManager] 应用背景配置: {backgroundImage}