From 8702429f356cbbe080b700c76dba1c3276aa9ce3 Mon Sep 17 00:00:00 2001 From: dgflash Date: Sat, 10 Jan 2026 19:32:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9C=80=E6=96=B0=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E7=9A=84API=E6=96=87=E6=A1=A3=E7=94=9F=E6=88=90?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 118 ++++++++++++++++++++---------- tsconfig.doc.json | 22 ++++++ typedoc.json | 17 +++-- typedoc.ts | 178 ++++++++++++++++++++++++++++++++++++++++++++++ typedoc.ts.x | 98 ------------------------- 6 files changed, 294 insertions(+), 140 deletions(-) create mode 100644 tsconfig.doc.json create mode 100644 typedoc.ts delete mode 100644 typedoc.ts.x diff --git a/.gitignore b/.gitignore index 75906eb..3926d81 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ # Cocos Creator 3D Project #/////////////////////////// node_modules/ +docs/ temp/ #////////////////////////// # NPM diff --git a/README.md b/README.md index fb400be..21b64fd 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,90 @@ -### 介绍 -Oops Framework 基于 Cocos Creator 3.x 开发的一款游戏框架。 -1. 提供游戏常用功能库,提高开发效率 -2. 提供业务模块代码模板,降低程序设计难度 -3. 框架内置模块低耦合,可自行删减不需要的模块,以适应不同类型的游戏 -4. 框架提供游戏常用插件工具 - - 热更新配置生成插件([传送门](https://gitee.com/dgflash/oops-plugin-hot-update)) - - 策划Excel配置表生成Json格式与配套ts代码插件([传送门](https://gitee.com/dgflash/oops-plugin-excel-to-json)) +
+ +
-### 框架文档 -### 学习部署说明 -1. 下载教程项目 -``` -git clone https://gitee.com/dgflash/oops-framework.git -``` +
+ + + + + + + + + + + star -2. 下载框架插件 - #### windows - 执行根目录下的 update-oops-plugin-framework.bat 下载最新版本框架插件 - - #### mac - 项目下载后执行 update-oops-plugin-framework.sh 下载最新版本框架插件 -### 开发部署说明 -1. 下载游戏项目模板 -``` -git clone https://gitee.com/dgflash/oops-game-kit.git -``` +
-2. 下载框架插件 - #### windows - 执行根目录下的 update-oops-plugin-framework.bat 下载最新版本框架插件 - - #### mac - 项目下载后执行 update-oops-plugin-framework.sh 下载最新版本框架插件 +
-### QQ群 -- 798575969(1群 - 满) +# 概览 + +oops Framework 是一款基于 Cocos Creator 3.x 开发的游戏框架。自 2021 年 7 月开源起,它始终与 Cocos Creator 3.x 的各个版本保持同步更新。与此同时,该框架也在持续迭代版本,不断提升稳定性与易用性。 + +
+ +
+ +# 设计理念 + +oops Framework 致力于提供一个拥有游戏开发常用技术的框架,从而提高开发效率、降低开发门槛、专注于内容设计、促进技术共享和交流。 + +
+ +
+ +# 框架特点 + +- 提供较为全面的游戏开发常用技术 +- 提供可提高开发效率的插件工具 +- 提供教学项目以及不同类型的解决方案项目 +- 拥有稳定可靠的框架技术 +- 对新人极为友好,操作简单且易于上手 + +
+ +
+ +# 官方推荐 + +-
Cocos 官方推荐框架 +- Cocos 官方2022年TOP10的插件工具 +- Cocos Creator 3.x 优秀开源框架 +- Cocos Creator 3.x 优秀开源框架盘点 + +框架产品案例: [产品案例](https://gitee.com/dgflash/oops-framework/wikis/%E5%BA%94%E7%94%A8%E6%A1%88%E4%BE%8B) + +
+ +
+ +# 学习资源 + +Oops框架文档: [WIKI](https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12002375&doc_id=2873565) + +Oops框架Api文档: [Api](https://oops-1255342636.cos.ap-shanghai.myqcloud.com/doc/oops-framework/index.html) + +bili视频教程:[dgflash](https://space.bilibili.com/479459079?spm_id_from=333.788.upinfo.detail.click) + +Cocos Store产品:[Cocos Store](https://store.cocos.com/app/search?name=dgflash) + +
+ +
+ +# 社群链接 + +- 798575969(1群 - 满) - 621415300(2群 - 满) -- 628575875(3群 - 满) +- 628575875(3群 - 满) - 226524184(4群 - 满) - 741197640(5群 - 满) -- 438995424(6群 - 推荐) +- 438995424(6群 - 满) +- 916492808(7群 - 满) +- 973884097(8群 - 推荐) -QQ频道号:q366856bf5 - -## [点击了解作者其它产品](https://store.cocos.com/app/search?name=oops) \ No newline at end of file +### QQ频道:q366856bf5 \ No newline at end of file diff --git a/tsconfig.doc.json b/tsconfig.doc.json new file mode 100644 index 0000000..f16a193 --- /dev/null +++ b/tsconfig.doc.json @@ -0,0 +1,22 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist-doc", + "rootDir": "./", + "types": [ + "./temp/declarations/cc.custom-macro", + "./temp/declarations/cc", + "./temp/declarations/jsb", + "./temp/declarations/cc.env" + ] + }, + "include": [ + "assets/**/*", + "typedoc.ts" + ], + "exclude": [ + "node_modules", + "dist", + "docs" + ] +} \ No newline at end of file diff --git a/typedoc.json b/typedoc.json index e426234..0fdff84 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,6 +1,15 @@ { - "entryPoints": [ - "typedoc.ts" - ], - "out": "docs" + "entryPoints": ["typedoc.ts"], + "out": "docs", + "tsconfig": "tsconfig.doc.json", + "name": "Oops Framework API", + "readme": "README.md", + "theme": "default", + "excludePrivate": true, + "excludeProtected": false, + "excludeExternals": true, + "includeVersion": true, + "categorizeByGroup": true, + "sort": ["source-order"], + "skipErrorChecking": true } \ No newline at end of file diff --git a/typedoc.ts b/typedoc.ts new file mode 100644 index 0000000..f1045e7 --- /dev/null +++ b/typedoc.ts @@ -0,0 +1,178 @@ +// 该文件用作typedoc的入口点模块——我们的API生成器 +// 注:为避免项目代码中引用到生成API文档的TS文件,所以后缀加了.x避免VsCode提示导入,生成文档时去掉.x即可 +// npx typedoc + +/** core/common */ +export * from './assets/core/common/audio/AudioEffect'; +export * from './assets/core/common/audio/AudioEffectPool'; +export * from './assets/core/common/audio/AudioEnum'; +export * from './assets/core/common/audio/AudioManager'; +export * from './assets/core/common/audio/AudioMusic'; +export * from './assets/core/common/audio/IAudio'; +export * from './assets/core/common/event/EventDispatcher'; +export * from './assets/core/common/event/EventMessage'; +export * from './assets/core/common/event/MessageManager'; +export * from './assets/core/common/loader/ResLoader'; +export * from './assets/core/common/loader/ZipLoader'; +export * from './assets/core/common/log/Logger'; +export * from './assets/core/common/random/RandomManager'; +export * from './assets/core/common/random/SeedRandom'; +export * from './assets/core/common/storage/StorageManager'; +export * from './assets/core/common/storage/StorageSecurityCrypto'; +export * from './assets/core/common/storage/StorageSecuritySimple'; +export * from './assets/core/common/timer/Timer'; +export * from './assets/core/common/timer/TimerManager'; +/** core/game */ +export * from './assets/core/game/GameManager'; +/** core/gui */ +export * from './assets/core/gui/Gui'; +export * from './assets/core/gui/GuiEnum'; +export * from './assets/core/gui/layer/LayerDialog'; +export * from './assets/core/gui/layer/LayerEnum'; +export * from './assets/core/gui/layer/LayerGame'; +export * from './assets/core/gui/layer/LayerGameElement'; +export * from './assets/core/gui/layer/LayerHelper'; +export * from './assets/core/gui/layer/LayerManager'; +export * from './assets/core/gui/layer/LayerNotify'; +export * from './assets/core/gui/layer/LayerPopup'; +export * from './assets/core/gui/layer/LayerUI'; +export * from './assets/core/gui/layer/LayerUIElement'; +export * from './assets/core/gui/layer/UIConfig'; +export * from './assets/core/gui/prompt/LoadingIndicator'; +export * from './assets/core/gui/prompt/Notify'; +export * from './assets/core/Oops'; +export * from './assets/core/Root'; +/** core/utils */ +export * from './assets/core/utils/ArrayUtil'; +export * from './assets/core/utils/CameraUtil'; +export * from './assets/core/utils/DeviceUtil'; +export * from './assets/core/utils/EncryptUtil'; +export * from './assets/core/utils/ImageUtil'; +export * from './assets/core/utils/JsonUtil'; +export * from './assets/core/utils/LayerUtil'; +export * from './assets/core/utils/MathUtil'; +export * from './assets/core/utils/ObjectUtil'; +export * from './assets/core/utils/PhysicsUtil'; +export * from './assets/core/utils/PlatformUtil'; +export * from './assets/core/utils/RegexUtil'; +export * from './assets/core/utils/RotateUtil'; +export * from './assets/core/utils/StringUtil'; +export * from './assets/core/utils/TimeUtils'; +export * from './assets/core/utils/Vec3Util'; +export * from './assets/core/utils/ViewUtil'; +/** libs/animator */ +export * from './assets/libs/animator/AnimatorAnimation'; +export * from './assets/libs/animator/AnimatorCustomization'; +export * from './assets/libs/animator/AnimatorDragonBones'; +export * from './assets/libs/animator/AnimatorSkeletal'; +export * from './assets/libs/animator/AnimatorSpine'; +export * from './assets/libs/animator/AnimatorSpineSecondary'; +export * from './assets/libs/animator/core/AnimatorBase'; +export * from './assets/libs/animator/core/AnimatorCondition'; +export * from './assets/libs/animator/core/AnimatorController'; +export * from './assets/libs/animator/core/AnimatorParams'; +export * from './assets/libs/animator/core/AnimatorState'; +export * from './assets/libs/animator/core/AnimatorStateLogic'; +export * from './assets/libs/animator/core/AnimatorTransition'; +/** libs/animator-effect */ +export * from './assets/libs/animator-effect/Effect2DFollow3D'; +export * from './assets/libs/animator-effect/EffectDelayRelease'; +export * from './assets/libs/animator-effect/EffectEvent'; +export * from './assets/libs/animator-effect/EffectFinishedRelease'; +export * from './assets/libs/animator-effect/EffectSingleCase'; +export * from './assets/libs/animator-effect/2d/Ambilight'; +export * from './assets/libs/animator-effect/2d/FlashSpine'; +export * from './assets/libs/animator-effect/2d/FlashSprite'; +export * from './assets/libs/animator-effect/2d/SpineFinishedRelease'; +/** libs/animator-move */ +export * from './assets/libs/animator-move/MoveRigidBody'; +export * from './assets/libs/animator-move/MoveTo'; +export * from './assets/libs/animator-move/MoveTranslate'; +/** libs/behavior-tree */ +export * from './assets/libs/behavior-tree/BTreeNode'; +export * from './assets/libs/behavior-tree/BehaviorTree'; +export * from './assets/libs/behavior-tree/BranchNode'; +export * from './assets/libs/behavior-tree/Decorator'; +export * from './assets/libs/behavior-tree/IControl'; +export * from './assets/libs/behavior-tree/Priority'; +export * from './assets/libs/behavior-tree/Selector'; +export * from './assets/libs/behavior-tree/Sequence'; +export * from './assets/libs/behavior-tree/Task'; +export * from './assets/libs/behavior-tree/index'; +/** libs/camera */ +export * from './assets/libs/camera/FreeFlightCamera'; +export * from './assets/libs/camera/OrbitCamera'; +/** libs/collection */ +export * from './assets/libs/collection/AsyncQueue'; +export * from './assets/libs/collection/Collection'; +/** libs/ecs */ +export * from './assets/libs/ecs/ECS'; +export * from './assets/libs/ecs/ECSComp'; +export * from './assets/libs/ecs/ECSEntity'; +export * from './assets/libs/ecs/ECSGroup'; +export * from './assets/libs/ecs/ECSMask'; +export * from './assets/libs/ecs/ECSMatcher'; +export * from './assets/libs/ecs/ECSModel'; +export * from './assets/libs/ecs/ECSSystem'; +/** libs/extension */ +export * from './assets/libs/extension/ArrayExt'; +export * from './assets/libs/extension/DateExt'; +export * from './assets/libs/extension/DirectorExt'; +export * from './assets/libs/extension/NodeDragExt'; +export * from './assets/libs/extension/NodeExt'; +/** libs/gui */ +export * from './assets/libs/gui/button/ButtonEffect'; +export * from './assets/libs/gui/button/ButtonSimple'; +export * from './assets/libs/gui/button/ButtonTouchLong'; +export * from './assets/libs/gui/button/UIButton'; +export * from './assets/libs/gui/label/LabelChange'; +export * from './assets/libs/gui/label/LabelNumber'; +export * from './assets/libs/gui/label/LabelTime'; +export * from './assets/libs/gui/language/Language'; +export * from './assets/libs/gui/language/LanguageData'; +export * from './assets/libs/gui/language/LanguageLabel'; +export * from './assets/libs/gui/language/LanguagePack'; +export * from './assets/libs/gui/language/LanguageSpine'; +export * from './assets/libs/gui/language/LanguageSprite'; +export * from './assets/libs/gui/window/PromptBase'; +export * from './assets/libs/gui/window/PromptSkip'; +/** libs/model-view */ +export * from './assets/libs/model-view/JsonOb'; +export * from './assets/libs/model-view/StringFormat'; +export * from './assets/libs/model-view/VMBase'; +export * from './assets/libs/model-view/VMCompsEdit'; +export * from './assets/libs/model-view/VMCustom'; +export * from './assets/libs/model-view/VMEnv'; +export * from './assets/libs/model-view/VMEvent'; +export * from './assets/libs/model-view/VMLabel'; +export * from './assets/libs/model-view/VMModify'; +export * from './assets/libs/model-view/VMParent'; +export * from './assets/libs/model-view/VMProgress'; +export * from './assets/libs/model-view/VMState'; +export * from './assets/libs/model-view/ViewModel'; +export * from './assets/libs/model-view/ui/BhvButtonGroup'; +export * from './assets/libs/model-view/ui/BhvFrameIndex'; +export * from './assets/libs/model-view/ui/BhvRollNumber'; +export * from './assets/libs/model-view/ui/BhvSwitchPage'; +/** libs/network */ +export * from './assets/libs/network/HttpRequest'; +export * from './assets/libs/network/NetInterface'; +export * from './assets/libs/network/NetManager'; +export * from './assets/libs/network/NetNode'; +export * from './assets/libs/network/NetProtocolPako'; +export * from './assets/libs/network/WebSock'; +/** libs/render-texture */ +export * from './assets/libs/render-texture/RtToModel'; +export * from './assets/libs/render-texture/RtToSprite'; +/** module/common */ +export * from './assets/module/common/CCBusiness'; +export * from './assets/module/common/CCEntity'; +export * from './assets/module/common/CCView'; +export * from './assets/module/common/GameCollision'; +export * from './assets/module/common/GameComponent'; +export * from './assets/module/common/GameStorage'; +/** module/config */ +export * from './assets/module/config/BuildTimeConstants'; +export * from './assets/module/config/Config'; +export * from './assets/module/config/GameConfig'; +export * from './assets/module/config/GameQueryConfig'; diff --git a/typedoc.ts.x b/typedoc.ts.x deleted file mode 100644 index b807d52..0000000 --- a/typedoc.ts.x +++ /dev/null @@ -1,98 +0,0 @@ -// 该文件用作typedoc的入口点模块——我们的API生成器 -// 注:为避免项目代码中引用到生成API文档的TS文件,所以后缀加了.x避免VsCode提示导入,生成文档时去掉.x即可 -// npx typedoc - -/** core/common */ -export * from './assets/core/common/audio/AudioEffect'; -export * from './assets/core/common/audio/AudioEffectPool'; -export * from './assets/core/common/audio/AudioManager'; -export * from './assets/core/common/audio/AudioMusic'; -export * from './assets/core/common/event/EventDispatcher'; -export * from './assets/core/common/event/EventMessage'; -export * from './assets/core/common/event/MessageManager'; -export * from './assets/core/common/loader/ResLoader'; -export * from './assets/core/common/log/Logger'; -export * from './assets/core/common/random/RandomManager'; -export * from './assets/core/common/random/SeedRandom'; -export * from './assets/core/common/storage/StorageManager'; -export * from './assets/core/common/storage/StorageSecuritySimple'; -export * from './assets/core/common/timer/Timer'; -export * from './assets/core/common/timer/TimerManager'; -/** core/game */ -export * from './assets/core/game/GameManager'; -/** core/gui */ -export * from './assets/core/gui/layer/Defines'; -export * from './assets/core/gui/layer/DelegateComponent'; -export * from './assets/core/gui/layer/LayerDialog'; -export * from './assets/core/gui/layer/LayerManager'; -export * from './assets/core/gui/layer/LayerNotify'; -export * from './assets/core/gui/layer/LayerPopup'; -export * from './assets/core/gui/layer/LayerUI'; -export * from './assets/core/gui/prompt/CommonPrompt'; -export * from './assets/core/gui/prompt/LoadingIndicator'; -export * from './assets/core/gui/prompt/Notify'; -// export * from './assets/core/Oops'; -// export * from './assets/core/Root'; -/** core/utils */ -export * from './assets/core/utils/ArrayUtil'; -export * from './assets/core/utils/CameraUtil'; -export * from './assets/core/utils/ImageUtil'; -export * from './assets/core/utils/JsonUtil'; -export * from './assets/core/utils/LayerUtil'; -export * from './assets/core/utils/MathUtil'; -export * from './assets/core/utils/ObjectUtil'; -export * from './assets/core/utils/PhysicsUtil'; -export * from './assets/core/utils/PlatformUtil'; -export * from './assets/core/utils/RegexUtil'; -export * from './assets/core/utils/RotateUtil'; -export * from './assets/core/utils/StringUtil'; -export * from './assets/core/utils/Vec3Util'; -export * from './assets/core/utils/ViewUtil'; -/** libs/animator-effect */ -// export * from './assets/libs/animator-effect/Effect2DFollow3D'; -// export * from './assets/libs/animator-effect/EffectDelayRelease'; -// export * from './assets/libs/animator-effect/EffectFinishedRelease'; -// export * from './assets/libs/animator-effect/EffectSingleCase'; -/** libs/collection */ -export * from './assets/libs/collection/AsyncQueue'; -export * from './assets/libs/collection/Collection'; -/** libs/ecs */ -export * from './assets/libs/ecs/ECS'; -export * from './assets/libs/ecs/ECSComp'; -export * from './assets/libs/ecs/ECSEntity'; -export * from './assets/libs/ecs/ECSSystem'; -/** libs/model-view */ -export * from './assets/libs/model-view/JsonOb'; -export * from './assets/libs/model-view/StringFormat'; -export * from './assets/libs/model-view/ui/BhvButtonGroup'; -export * from './assets/libs/model-view/ui/BhvFrameIndex'; -export * from './assets/libs/model-view/ui/BhvRollNumber'; -export * from './assets/libs/model-view/ui/BhvSwitchPage'; -export * from './assets/libs/model-view/ViewModel'; -export * from './assets/libs/model-view/VMBase'; -export * from './assets/libs/model-view/VMCompsEdit'; -export * from './assets/libs/model-view/VMCustom'; -export * from './assets/libs/model-view/VMEvent'; -export * from './assets/libs/model-view/VMLabel'; -export * from './assets/libs/model-view/VMModify'; -export * from './assets/libs/model-view/VMParent'; -export * from './assets/libs/model-view/VMProgress'; -export * from './assets/libs/model-view/VMState'; - -/** module/network */ -export * from './assets/libs/network/HttpRequest'; -export * from './assets/libs/network/NetInterface'; -export * from './assets/libs/network/NetManager'; -export * from './assets/libs/network/NetNode'; -export * from './assets/libs/network/NetProtocolPako'; -export * from './assets/libs/network/WebSock'; -/** module/ecs */ -export * from './assets/module/common/CCComp'; -export * from './assets/module/common/CCVMParentComp'; -export * from './assets/module/common/GameCollision'; -export * from './assets/module/common/GameComponent'; -export * from './assets/module/common/ModuleUtil'; -/** module/config */ -export * from './assets/module/config/Config'; -export * from './assets/module/config/GameConfig'; -export * from './assets/module/config/GameQueryConfig';