# 背景管理器使用说明 ## 概述 `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` 字段: ```typescript 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. **初始化**:`InGameManager` 在 `start()` 方法中初始化 `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}`