# kkxiaochu **Repository Path**: chmodyy/kkxiaochu ## Basic Information - **Project Name**: kkxiaochu - **Description**: demo项目,进行调试测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-21 - **Last Updated**: 2026-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KK小消除 - Unity Tile Match 游戏 ## 📖 项目简介 KK小消除是一款基于Unity引擎开发的Tile Match(方块消除)休闲游戏。本项目采用了Watermelon Core游戏框架,提供了完整的游戏系统架构,包括关卡系统、道具系统、教程系统、UI管理系统、音频系统等核心功能模块。 ## 📚 完整文档 > **🎉 新项目文档已发布!** 我们已为项目创建了完整的开发文档体系,面向策划和开发人员。 ### 📖 文档导航 | 文档分类 | 说明 | 适合人群 | |---------|------|----------| | [📋 项目概览](docs/01-项目概览/) | 项目介绍、技术栈、快速开始 | 新成员 | | [🏗️ 框架设计](docs/02-框架设计/) | 架构总览、核心控制器、系统设计 | 开发人员 | | [🎮 关卡编辑器](docs/03-关卡编辑器/) | `Tools → Level Editor` 窗口、关卡创建与配置 | 策划人员 | | [🎁 道具系统](docs/04-Power%20Ups道具系统/) | 道具架构、类型、扩展开发 | 策划/开发 | | [🖼️ UI系统开发](docs/05-UI系统开发/) | UI架构、页面开发、交互设计 | UI开发 | | [📖 教程系统](docs/06-教程系统/) | 教程机制、自定义教程 | 策划/开发 | | [📝 开发规范](docs/07-开发规范/) | 编码规范、Git工作流、测试 | 全体开发 | | [🔧 系统扩展](docs/08-系统扩展/) | 功能扩展、SDK集成、优化 | 高级开发 | | [📦 打包发布](docs/09-打包发布/) | 多平台打包、版本管理 | 技术策划 | ### 🚀 快速开始 **我是策划,我想...** - 📖 [了解项目整体情况](docs/01-项目概览/项目介绍.md) - 🛠️ [使用关卡编辑器窗口(Tools → Level Editor)](docs/03-关卡编辑器/关卡编辑器窗口使用指南.md) - 🎮 [创建第一个关卡](docs/03-关卡编辑器/创建第一个关卡.md) - 📊 [学习难度设计方法](docs/03-关卡编辑器/关卡难度设计指南.md) - 🎁 [了解道具系统](docs/04-Power%20Ups道具系统/道具系统架构.md) **我是开发,我想...** - 🏗️ [理解整体架构](docs/02-框架设计/架构总览.md) - 💻 [学习核心控制器](docs/02-框架设计/核心控制器.md) - 🛠️ [搭建开发环境](docs/01-项目概览/快速开始.md) - 📝 [查看编码规范](docs/07-开发规范/C#编码规范.md) ### 📄 文档特色 - ✅ **纯中文编写** - 降低理解门槛 - ✅ **图文并茂** - Mermaid架构图、流程图 - ✅ **代码示例** - 完整可执行的代码片段 - ✅ **双受众设计** - 同时面向策划和开发 - ✅ **持续更新** - 与项目同步维护 👉 **立即查看**: [完整文档中心](docs/README.md) --- ## 🎮 游戏特性 ### 核心玩法 - **Tile Match消除机制**: 经典的方块匹配消除玩法 - **渐进式关卡设计**: 支持200+关卡配置 - **道具辅助系统**: 多种道具帮助玩家通关 - **新手引导教程**: 完整的首关教程体验 ### 系统模块 - **关卡系统**: 动态关卡加载、进度保存、难度递增 - **UI管理系统**: 主菜单、游戏中UI、结算界面 - **音频系统**: 背景音乐和音效管理 - **存档系统**: 玩家进度自动保存 - **广告系统**: 集成广告模块(可选) - **内购系统**: 应用内购买支持(可选) - **对象池系统**: 优化性能的对象复用机制 - **动画系统**: 流畅的Tween动画效果 ## 📁 项目结构 ``` Assets/ ├── Project Data/ │ ├── Content/ # 游戏内容资源 │ │ ├── Data/ # 数据配置 │ │ ├── LevelSystem/ # 关卡系统资源 │ │ │ ├── Levels/ # 关卡配置文件(200+关卡) │ │ │ ├── Animations/ # 关卡动画 │ │ │ └── Level Database.asset # 关卡数据库 │ │ └── Settings/ # 游戏设置 │ │ ├── Ads Settings # 广告设置 │ │ ├── Audio Settings # 音频设置 │ │ ├── IAP Settings # 内购设置 │ │ └── Prefs Settings # 偏好设置 │ │ │ ├── Game/ # 游戏核心逻辑 │ │ ├── Scripts/ # 游戏脚本 │ │ │ ├── Controllers/ # 控制器(游戏控制、射线检测) │ │ │ ├── Level/ # 关卡相关逻辑 │ │ │ │ ├── Dock/ # 停靠区逻辑 │ │ │ │ ├── Effects/ # 特效系统 │ │ │ │ ├── Level Field/ # 关卡场地 │ │ │ │ ├── LevelData/ # 关卡数据 │ │ │ │ └── Spawn Animations/ # 生成动画 │ │ │ ├── Power Ups/ # 道具系统 │ │ │ │ └── Data/ # 道具数据配置 │ │ │ ├── Tutorial/ # 教程系统 │ │ │ ├── UI/ # UI界面逻辑 │ │ │ └── Other/ # 其他辅助脚本 │ │ ├── Prefabs/ # 预制体 │ │ ├── Scenes/ # 游戏场景 │ │ ├── Audio/ # 音频资源 │ │ ├── Images/ # 图片资源 │ │ ├── Animations/ # 动画资源 │ │ └── Materials/ # 材质资源 │ │ │ └── Watermelon Core/ # 核心框架 │ ├── Modules/ # 功能模块 │ │ ├── Advertisement/ # 广告模块 │ │ ├── Audio Controller/ # 音频控制器 │ │ ├── Currencies Module/ # 货币系统 │ │ ├── GameSettingsPrefs/ # 游戏设置 │ │ ├── Level System/ # 关卡系统 │ │ ├── Loading System/ # 加载系统 │ │ ├── Pool Manager/ # 对象池 │ │ ├── Save Module/ # 存档模块 │ │ ├── Tween/ # 动画补间 │ │ └── UI Manager/ # UI管理器 │ ├── Scripts/ # 核心脚本 │ ├── Extended Editor/ # 编辑器扩展 │ └── Extra Components/ # 额外组件 │ └── Plugins/ # 第三方插件 ``` ## 🚀 快速开始 ### 环境要求 - **Unity版本**: 2021.3 LTS 或更高版本 - **平台支持**: iOS, Android, WebGL, Windows, macOS - **开发语言**: C# ### 安装步骤 1. **克隆项目** ```bash git clone cd kkxiaochu ``` 2. **打开项目** - 启动Unity Hub - 点击"打开"按钮 - 选择项目文件夹 `kkxiaochu` - 等待Unity导入资源和编译脚本 3. **运行游戏** - 在Unity编辑器中打开 `Assets/Project Data/Game/Scenes` 目录 - 打开主游戏场景 - 点击播放按钮 ▶️ 即可运行 ## 🛠️ 配置与使用 ### 1. 关卡配置 推荐优先使用 Unity 菜单 **`Tools → Level Editor`** 打开关卡编辑器窗口,在 **Levels** 页签中维护列表、绘制多层网格,并用 **Test level** 一键进入播放模式测试当前关。完整说明见 [关卡编辑器窗口使用指南](docs/03-关卡编辑器/关卡编辑器窗口使用指南.md)。 #### 创建新关卡(资源方式) 1. 在 Project 窗口打开 `Assets/Project Data/Content/LevelSystem/Levels/` 2. 右键 → **Create → Level Data**,或使用关卡编辑器窗口列表的添加功能自动生成命名资源 3. 在 Inspector 或关卡编辑器中配置 `LevelData` 主要字段,例如: - **Layers**:多层方块布局(编辑器内需满足至少两层等校验规则) - **Bottom Layer Width / Height**:底层网格尺寸 - **Elements Per Level**:本关使用的方块种类数 - **Coins Reward**:通关金币奖励 - **Use In Randomizer**:是否参与随机/无尽相关逻辑 #### 关卡数据库 - 打开 `Assets/Project Data/Content/LevelSystem/Level Database.asset` 查看并调整 **levels** 顺序与引用 - 使用关卡编辑器窗口的 **Global Validation** 做批量校验(结果在 Console) 更多步骤教程见 [创建第一个关卡](docs/03-关卡编辑器/创建第一个关卡.md) 与 [关卡系统概览](docs/03-关卡编辑器/关卡系统概览.md)。 ### 2. 道具系统配置 #### 添加新道具 1. 导航到 `Assets/Project Data/Game/Scripts/Power Ups/Data/` 2. 创建道具数据配置 3. 配置道具属性: - **道具类型**: 提示、重排、移除等 - **使用条件**: 触发限制 - **效果参数**: 作用范围和强度 - **UI显示**: 图标和描述 #### 道具使用 ```csharp // 在游戏中使用道具示例 PowerUpManager.UsePowerUp(PowerUpType.Hint); ``` ### 3. 游戏设置 #### 音频设置 - 打开 `Assets/Project Data/Content/Settings/Audio Settings.asset` - 配置背景音乐音量 - 配置音效音量 - 设置音频混合器 #### 广告设置 - 打开 `Ads Settings.asset` - 配置广告平台(AdMob、Unity Ads等) - 设置广告展示频率 - 配置激励视频奖励 #### 偏好设置 - 打开 `Prefs Settings.asset` - 配置默认游戏设置 - 设置玩家偏好存储 ### 4. 教程系统 #### 自定义教程 1. 导航到 `Assets/Project Data/Game/Scripts/Tutorial/` 2. 修改 `FirstLevelTutorial.cs` 自定义首关教程 3. 配置教程步骤: - 手指引导位置 - 提示文本 - 触发条件 ### 5. UI定制 #### 修改界面 - **主菜单**: `UIMainMenu.cs` - **游戏界面**: `UIGame.cs` - **完成界面**: `UIComplete.cs` - **失败界面**: `UIGameOver.cs` #### 添加新界面 1. 创建UI Prefab 2. 继承UIBehavior基类 3. 使用UIManager注册界面 ## 📝 核心API说明 ### 游戏控制器 ```csharp // 获取游戏控制器实例 GameController.Instance.PauseGame(); GameController.Instance.ResumeGame(); GameController.Instance.RestartLevel(); ``` ### 关卡系统 ```csharp // 加载指定关卡 LevelSystem.LoadLevel(levelId); // 获取当前关卡信息 int currentLevel = LevelSystem.CurrentLevel; LevelData levelData = LevelSystem.GetCurrentLevelData(); ``` ### 存档系统 ```csharp // 保存游戏数据 SaveModule.SaveGameData(); // 读取游戏数据 GameData data = SaveModule.LoadGameData(); ``` ### UI管理 ```csharp // 显示界面 UIManager.ShowUI(); // 隐藏界面 UIManager.HideUI(); ``` ### 音频系统 ```csharp // 播放音效 AudioController.PlaySFX(clip); // 播放音乐 AudioController.PlayBGM(clip); ``` ## 🎨 资源替换 ### 图片资源 - 方块图片: `Assets/Project Data/Game/Images/Tiles/` - UI图片: `Assets/Project Data/Game/Images/UI/` - 背景图片: `Assets/Project Data/Game/Images/Backgrounds/` ### 音频资源 - 背景音乐: `Assets/Project Data/Game/Audio/Music/` - 音效文件: `Assets/Project Data/Game/Audio/SFX/` ### 字体资源 - 使用TextMesh Pro字体 - 配置路径: `Assets/TextMesh Pro/Resources/Fonts & Materials/` ## 🔧 高级功能 ### 自定义方块类型 1. 创建新的TileData配置 2. 定义方块行为逻辑 3. 在关卡中使用新方块 ### 添加特效系统 ```csharp // 在Level/Effects/中创建新特效 // 继承特效基类 // 配置粒子系统和动画 ``` ### 集成第三方SDK - 广告SDK: 在Advertisement模块中集成 - 分析SDK: 在Initialiser中初始化 - 社交SDK: 创建新的Controller ## 🐛 调试与优化 ### 性能优化建议 1. **对象池使用**: 频繁创建销毁的对象使用Pool Manager 2. **资源加载**: 使用异步加载避免卡顿 3. **Draw Call优化**: 合并材质和纹理 4. **内存管理**: 及时释放不需要的资源 ### 调试工具 - Unity Profiler: 性能分析 - Frame Debugger: 渲染调试 - Console窗口: 日志查看 ### 常见问题 #### Q: 关卡加载失败 A: 检查Level Database配置,确保关卡ID正确 #### Q: 道具不生效 A: 检查道具配置和触发条件 #### Q: 存档丢失 A: 检查Save Module配置和权限设置 ## 📦 打包发布 ### Android打包 1. File → Build Settings → Android 2. 配置Player Settings 3. 设置包名、版本号 4. Build And Run ### iOS打包 1. File → Build Settings → iOS 2. 配置Player Settings 3. 生成Xcode项目 4. 在Xcode中编译打包 ### WebGL打包 1. File → Build Settings → WebGL 2. 配置压缩格式 3. Build并测试 ## 🤝 贡献指南 欢迎提交Issue和Pull Request! ### 提交代码规范 1. 遵循C#编码规范 2. 添加必要的注释 3. 测试功能完整性 4. 更新相关文档 ## 📄 许可证 本项目基于Unity游戏模板开发,请遵守相关开源协议。 ## 📞 联系方式 - **在线文档**: https://www.notion.so/wmelongames/Tile-Match-59f784cfee1542838da62910200eb89c - **Discord社区**: https://discord.gg/xEGUnBg ## 🙏 致谢 感谢Watermelon团队提供的优秀游戏框架模板! --- **祝开发愉快!🎮**