# Cocos-project-game **Repository Path**: 001X/cocos-project-game ## Basic Information - **Project Name**: Cocos-project-game - **Description**: 开心消消乐,Cocos Creater - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-09-16 - **Last Updated**: 2026-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开心消消乐 - 微信小游戏 一个使用 Cocos Creator 开发的高仿开心消消乐微信小游戏,包含完整的广告系统。 ## 项目特性 ### 核心玩法 - 经典三消游戏机制 - 8x8 游戏棋盘 - 6种不同颜色的方块 - 连消系统,连消越多得分越高 - 流畅的动画效果 - 关卡系统 ### 广告系统 - **Banner广告**: 游戏开始时自动显示 - **激励视频广告**: 关卡完成和游戏结束时提供奖励 - **插屏广告**: 每隔N步自动显示 ### 音效和特效 - 完整的音效系统(匹配、交换、下落等) - 粒子特效系统 - 连消特效 - 分数弹出效果 - 震动和闪光效果 ## 项目结构 ``` flutter-game/ ├── assets/ │ ├── scripts/ # 游戏脚本 │ │ ├── Block.ts # 方块组件 │ │ ├── GameBoard.ts # 游戏棋盘逻辑 │ │ ├── EnhancedGameBoard.ts # 增强版游戏棋盘 │ │ ├── MainMenu.ts # 主菜单 │ │ ├── LevelComplete.ts # 关卡完成界面 │ │ ├── GameOver.ts # 游戏结束界面 │ │ ├── AdManager.ts # 广告管理器 │ │ ├── AdController.ts # 广告控制器 │ │ ├── AudioManager.ts # 音频管理器 │ │ ├── EffectManager.ts # 特效管理器 │ │ └── GameUI.ts # 游戏UI │ ├── textures/ # 纹理资源 │ ├── audio/ # 音频资源 │ ├── scenes/ # 场景文件 │ ├── prefabs/ # 预制体 │ └── resources/ # 资源文件 ├── project.json # 项目配置 ├── package.json # 依赖配置 ├── game.json # 微信小游戏配置 └── game.config.json # 游戏配置 ``` ## 快速开始 ### 环境要求 - Cocos Creator 3.8.0 或更高版本 - 微信开发者工具 - Node.js (可选) ### 安装步骤 1. **克隆或下载项目** ```bash cd flutter-game ``` 2. **使用 Cocos Creator 打开项目** - 启动 Cocos Creator - 选择 "打开其他项目" - 选择 `flutter-game` 目录 3. **配置广告ID** 在 [AdManager.ts](assets/scripts/AdManager.ts) 中修改广告单元ID: ```typescript private readonly BANNER_AD_UNIT_ID = '你的Banner广告ID'; private readonly REWARDED_VIDEO_AD_UNIT_ID = '你的激励视频广告ID'; private readonly INTERSTITIAL_AD_UNIT_ID = '你的插屏广告ID'; ``` 4. **构建微信小游戏** - 在 Cocos Creator 中,选择 "项目" -> "构建发布" - 选择平台 "微信小游戏" - 点击 "构建" - 构建完成后,使用微信开发者工具打开 `build/wechatgame` 目录 ## 游戏玩法 ### 基本操作 - 点击选中一个方块 - 点击相邻的方块进行交换 - 三个或更多相同颜色的方块连成一线即可消除 - 消除后上方方块会下落,新方块会从顶部生成 ### 游戏规则 - 每关有固定的步数限制 - 达到目标分数即可过关 - 步数用完且未达到目标分数则游戏结束 - 连消可以获得额外分数加成 ### 广告奖励 - **关卡完成**: 观看激励视频可获得双倍分数 - **游戏结束**: 观看激励视频可继续游戏 - **游戏中**: 观看激励视频可获得额外步数 ## 核心类说明 ### Block.ts 单个方块的组件,处理方块的显示、选择、移动和销毁动画。 ### GameBoard.ts / EnhancedGameBoard.ts 游戏棋盘的核心逻辑,包括: - 初始化棋盘 - 处理方块交换 - 检测匹配 - 消除和下落逻辑 - 分数计算 - 游戏状态管理 ### AdManager.ts 广告管理器,封装了微信小游戏广告API: - Banner广告管理 - 激励视频广告管理 - 插屏广告管理 - 广告加载和错误处理 ### AudioManager.ts 音频管理器,负责游戏音效的播放和管理: - 背景音乐控制 - 音效播放 - 音量控制 ### EffectManager.ts 特效管理器,处理游戏中的各种视觉效果: - 消除特效 - 连消特效 - 分数弹出 - 粒子效果 - 震动和闪光效果 ## 广告集成说明 ### 广告类型 1. **Banner广告** - 显示位置:屏幕底部 - 显示时机:游戏开始时 - 可手动隐藏和销毁 2. **激励视频广告** - 显示时机:关卡完成、游戏结束、游戏中 - 奖励内容:双倍分数、继续游戏、额外步数 - 必须完整观看才能获得奖励 3. **插屏广告** - 显示时机:每隔N步自动显示 - 不影响游戏进程 ### 广告配置 在 [AdController.ts](assets/scripts/AdController.ts) 中可以配置广告显示策略: ```typescript @property showBannerAtStart: boolean = true; // 游戏开始时显示Banner @property showInterstitialEveryNMoves: number = 5; // 每5步显示插屏广告 @property showRewardedAtLevelComplete: boolean = true; // 关卡完成显示激励视频 @property showRewardedAtGameOver: boolean = true; // 游戏结束显示激励视频 ``` ## 性能优化 ### 对象池 - 方块使用预制体实例化 - 特效节点及时销毁 - 避免频繁创建和销毁对象 ### 渲染优化 - 使用合图减少DrawCall - 限制同时显示的特效数量 - 合理使用图集 ### 内存管理 - 及时释放不用的资源 - 使用对象池复用对象 - 避免内存泄漏 ## 自定义和扩展 ### 添加新的方块类型 1. 在 `GameBoard.ts` 中修改 `BLOCK_TYPES` 常量 2. 添加对应的颜色和纹理 3. 更新 `blockSpriteFrames` 数组 ### 修改游戏规则 - 修改棋盘大小:调整 `ROWS` 和 `COLS` 常量 - 修改最少匹配数:调整 `MIN_MATCH` 常量 - 修改关卡目标:调整 `targetScore` 变量 ### 添加新特效 在 `EffectManager.ts` 中添加新的特效方法,然后在适当的位置调用。 ## 注意事项 1. **广告ID配置**: 确保在微信开放平台申请了广告位ID并正确配置 2. **测试环境**: 在微信开发者工具中测试时,广告可能不会正常显示 3. **真机测试**: 建议在真机上测试广告功能 4. **性能监控**: 使用微信开发者工具的性能监控工具检查游戏性能 ## 常见问题 ### 广告不显示 - 检查广告ID是否正确 - 确认网络连接正常 - 查看控制台错误信息 ### 游戏卡顿 - 减少同时显示的特效数量 - 优化图片资源大小 - 使用对象池 ### 构建失败 - 检查 Cocos Creator 版本 - 清理项目缓存 - 检查依赖是否完整 ## 许可证 本项目仅供学习和参考使用。 ## 联系方式 如有问题或建议,欢迎反馈。 --- **祝你游戏开发顺利!**