kunpocc框架
kunpocc是基于Cocos Creator的游戏开发框架,提供UI管理、平台适配、计时器等常用功能模块。
kunpocc:我的Cocos Creator游戏开发框架
项目简介
kunpocc(简称kunpocc)是我开发的一个基于Cocos Creator的游戏开发框架。在用Cocos Creator做游戏项目时,经常会遇到一些重复性的开发工作,比如UI窗口管理、资源加载、平台API差异处理等。为了提高开发效率,我把这些常用功能封装成了一个框架。
这个框架已经在几个商业项目中使用。
技术栈
- TypeScript: 完全使用TypeScript编写,提供完整的类型定义
- Cocos Creator: 支持3.7+版本
- FairyGUI: UI编辑器,提供强大的UI制作能力
- NPM: 已发布到npm,方便安装使用
主要功能模块
1. UI管理系统
这是框架的核心功能,基于FairyGUI构建,提供完整的窗口管理功能:
主要特性:
- 装饰器语法简化UI开发
- 自动资源加载和释放
- 窗口层级管理
- 多窗口组管理
- 顶部资源栏(Header)复用
使用示例:
import { Window, _uidecorator } from 'kunpocc';
const { uiclass, uiprop, uiclick } = _uidecorator;
@uiclass("Window", "Home", "MainWindow")
export class MainWindow extends Window {
@uiprop private btnStart: GButton;
@uiprop private txtTitle: GTextField;
@uiclick
private onBtnStart(): void {
console.log('开始游戏');
}
}
2. 平台工具
提供平台检测和小游戏API封装,支持:
- 微信小游戏
- 抖音小游戏
- 支付宝小游戏
平台检测示例:
import { Platform } from 'kunpocc';
if (Platform.isWX) {
console.log('当前是微信小游戏');
} else if (Platform.isAndroid) {
console.log('当前是Android平台');
}
小游戏API使用:
import { MiniHelper } from 'kunpocc';
// 获取小游戏基础信息
const common = MiniHelper.common();
// 播放广告
const ad = MiniHelper.ad();
// 支付功能
const pay = MiniHelper.pay();
3. 全局计时器
提供统一的计时器管理功能:
import { GlobalTimer } from 'kunpocc';
// 启动定时器 (回调函数, 时间间隔秒, 重复次数: 0=执行一次, -1=无限重复)
const timerId = GlobalTimer.startTimer(() => {
console.log('定时器执行');
}, 1, -1); // 每秒执行一次,无限重复
// 停止定时器
GlobalTimer.stopTimer(timerId);
// 暂停和恢复
GlobalTimer.pauseTimer(timerId);
GlobalTimer.resumeTimer(timerId);
4. 屏幕适配工具
提供屏幕尺寸相关的静态属性:
import { Screen } from 'kunpocc';
// 获取屏幕信息
console.log('屏幕宽度:', Screen.ScreenWidth);
console.log('屏幕高度:', Screen.ScreenHeight);
console.log('设计分辨率:', Screen.DesignWidth, Screen.DesignHeight);
console.log('安全区域:', Screen.SafeWidth, Screen.SafeHeight);
5. 热更新功能
提供热更新的基础功能:
import { HotUpdateManager } from 'kunpocc';
// 需要先获取实例并初始化
const hotUpdate = HotUpdateManager.getInstance();
// 检查更新
hotUpdate.checkUpdate().then(result => {
if (result.code === HotUpdateCode.CHECK_FOUND_UPDATE) {
console.log('发现新版本');
// 可以开始更新流程
}
});
6. 条件显示节点
用于UI红点等条件显示功能,需要配合装饰器使用:
import { _conditionDecorator, ConditionManager } from 'kunpocc';
// 条件系统需要先初始化
ConditionManager.initCondition();
// 条件系统主要通过装饰器和条件类来管理UI节点的显示状态
// 具体使用方式需要定义条件类并配合UI节点
项目结构
src/
├── cocos/ # Cocos Creator适配层
├── condition/ # 条件显示模块
├── fgui/ # FairyGUI相关
├── global/ # 全局工具
├── hotupdate/ # 热更新
├── minigame/ # 小游戏平台
├── tool/ # 工具函数
└── ui/ # UI管理核心
安装使用
npm install kunpocc
详细的使用文档和示例代码可以在项目的docs目录中找到。
配套工具
框架还提供了一些配套的开发工具:
kunpo-fgui插件: Cocos Creator插件,可以一键导出FairyGUI界面配置,减少手写代码量。
独立模块:
开源信息
- GitHub: https://github.com/Gongxh0901/kunpolibrary
- Gitee: https://gitee.com/gongxh0901/kunpolibrary
- 许可证: ISC License
项目特点
这个框架的设计原则是实用性优先。每个功能都是在实际项目中遇到问题后,总结出来的解决方案。代码结构清晰,文档相对完整,适合中小型游戏项目使用。
框架还在持续优化中,会根据实际使用中遇到的问题不断改进。如果你也在使用Cocos Creator开发游戏,欢迎试试这个框架,也欢迎提出改进建议。
这个项目主要是为了解决我在游戏开发中遇到的实际问题。如果对其他Cocos Creator开发者也有帮助,那就更好了。