# cocos_creator_mvvm_tools 0.1.1
### 版本说明
v0.1.0 - Typescript 的 稳定版本
v0.1.1 - 修复VMParent onLoad顺序的错误,调整部分组件初始化值的时间
### 版本计划
移植 Cocos Creator 3D 1.2 版本,增强功能
移植 Cocos Creator 3.0 版本 (待定)
### 简介
适用于cocos creator 的 mvvm 的工具 集,摆脱传统MVC设置节点属性来控制 UI 的方式。你可以更快捷、更细致地处理UI的表现效果。不写一行代码完成复杂的显示逻辑。设计这个框架的目地就是为了解决 数据和节点状态变化切换的麻烦关系。
### 更新
增加JS 调用 TS 用例 2019/6/1
### 功能
1. 不需要写任何代码,设置脚本组件的参数即可 将 监听路径的数值 可以立刻得到反馈。
2. 更加灵活的获取数据变化时的事件,实现各种难以处理的细节交互。
3. 彻底分离UI处理 和 游戏逻辑处理,专注处理业务逻辑。
### 注意事项
1. 查错困难: 一旦绑定组件后,想要根据情况查找和调查bug位置,会变得困难一些。(也是组件化的缺点)
2. 设计数据模型后不能随意改变属性名,一旦需要修改就必须打开Cocos 来改动,这会比较依赖于编辑器操作。所以在内部提供了一个小组件来批量替换路径名。
### 项目结构
核心脚本文件存放在 assets\Script\modelView 路径,要使用必须全部引入
- **JsonOb.ts** - 实现基础的 观察者模式, 改变绑定的数据会自动调用回调函数。你可以随时替换成自己写的观察者。
- **ViewModel.ts** - VM的核心模块,动态管理ViewModel,使用 cc.director.emit 通知 游戏内的节点组件改变状态。
- **VMBase.ts** - VM监听核心组件,用于接收ViewModel 的数值变动消息。VMCustom /VMEvent 之类的衍生组件都是继承自VMBase
- **VMParent.ts** - VM父组件,适合 prefab 弹窗使用, 它将数据绑定在继承 VMparent 的组件上,只属于此次创建的实例。 需要以特殊方式继承使用。
### 用法说明
- 基本用法
**导入框架** - 导入 assets\Script\modelView 中的所有脚本
**建立数据模型** - 任意位置新建一个数据脚本,定义自己的数据模型,使用VM.add(data,'tag') 添加viewModel。 可以通过VM引用该数据,或者自己全局管理该数据模型。
**挂脚本** - 编辑器中直接添加组件 VMCustom ,它会自动识别绑定到需要设置值的组件和组件的属性,比如cc.Label、cc.Progress等。 你只要填写对应的watchPath, 就会自动赋值到组件的属性上。比如填写 global.play.hp
**改数据** - 在游戏中任意改变 global.play.hp的值,对应的label 就会自动改变数值。
- 全局注册VM: (全局自由使用路径)
VM.add(data,'tag'); //
- 局部组件使用VM: (只在组件内使用的相对路径)
1.继承VMParent 组件
2.在组件内设置 data 数据(data属性)
3.相对路径 使用 *.name 的方式设置 watchPath,VMParent 会在 onLoad 的时候自动将 * 替换成 实际的 ViewModel 标签,以便监听数据变化。
### 帮助说明
具体使用方式请查看附带文档:/docs
[使用文档]( https://github.com/wsssheep/cocos_creator_mvvm_tools/tree/master/docs )
没有合适的资源?快使用搜索试试~ 我知道了~
适用于cocoscreator的mvvm的工具集,摆脱传统设置节点属性来控制UI的方式___下载.zip
共195个文件
meta:96个
ts:33个
png:27个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 117 浏览量
2023-04-19
00:50:57
上传
评论
收藏 576KB ZIP 举报
温馨提示
适用于cocoscreator的mvvm的工具集,摆脱传统设置节点属性来控制UI的方式___下载.zip
资源推荐
资源详情
资源评论
收起资源包目录
适用于cocoscreator的mvvm的工具集,摆脱传统设置节点属性来控制UI的方式___下载.zip (195个子文件)
MvvmShop.fire 543KB
DemoToggleList.fire 79KB
Main.fire 78KB
DemoVMState.fire 66KB
DemoController.fire 29KB
DemoVMProgress.fire 23KB
DemoVMModify.fire 23KB
DemoVMEvent.fire 21KB
DemoVMLabel.fire 20KB
DemoVMParent.fire 18KB
DemoVMCustom.fire 18KB
JSVMParentTest.fire 9KB
.gitignore 2KB
JSVMParent.js 829B
services.json 7KB
project.json 655B
jsconfig.json 266B
project.json 60B
LICENSE 1KB
MvvmInfo.md 4KB
README.md 3KB
ViewModelScript.md 3KB
VMBase.md 2KB
VMState.md 1KB
VMLabel.md 1KB
VMEvent.md 1KB
VMCompsEdit.md 1KB
VMParent.md 933B
VMModify.md 878B
VMProgress.md 846B
VMCustom.md 706B
start_rate.png.meta 710B
icon_test.png.meta 709B
particle5.png.meta 709B
skill8.png.meta 708B
skill6.png.meta 707B
skill0.png.meta 707B
skill1.png.meta 707B
trea3.png.meta 707B
trea4.png.meta 707B
item_box.png.meta 706B
skill2.png.meta 706B
skill4.png.meta 706B
skill7.png.meta 706B
trea2.png.meta 705B
trea1.png.meta 705B
icon4.png.meta 705B
icon5.png.meta 705B
skill9.png.meta 704B
skill3.png.meta 704B
skill5.png.meta 704B
trea0.png.meta 703B
icon7.png.meta 703B
icon6.png.meta 703B
icon1.png.meta 703B
icon0.png.meta 703B
icon2.png.meta 703B
icon3.png.meta 703B
VMCustom.ts.meta 197B
VMCompsEdit.ts.meta 197B
StringFormat.ts.meta 197B
VMBase.ts.meta 197B
VMLabel.ts.meta 197B
VMEvent.ts.meta 197B
ViewModel.ts.meta 197B
VMParent.ts.meta 197B
JsonOb.ts.meta 197B
VMModify.ts.meta 197B
VMProgress.ts.meta 197B
VMState.ts.meta 197B
MvvmShopCtrl.ts.meta 197B
VMItemBag.ts.meta 197B
VMSkillTree.ts.meta 197B
VMItemShop.ts.meta 197B
VMAddPoint.ts.meta 197B
VMPopWindow.ts.meta 197B
VMRename.ts.meta 197B
CellItem.ts.meta 197B
CellSkillIcon.ts.meta 197B
CellEquipItem.ts.meta 197B
CellShopItem.ts.meta 197B
UserModel.ts.meta 197B
StorageModel.ts.meta 197B
ButtonBackHome.ts.meta 197B
DemoVMParent.ts.meta 197B
MainMenuCtrl.ts.meta 197B
JSVMParent.js.meta 197B
BhvButtonGroup.ts.meta 197B
BhvSwitchPage.ts.meta 197B
BhvRollNumber.ts.meta 197B
BhvFrameIndex.ts.meta 197B
CellTest.prefab.meta 148B
VMPopWindow.prefab.meta 148B
VMRename.prefab.meta 148B
CellSkillIcon.prefab.meta 148B
CellEquipItem.prefab.meta 148B
CellItem.prefab.meta 148B
CellShopItem.prefab.meta 148B
VMAddPoint.prefab.meta 148B
JSVMParentTest.fire.meta 146B
共 195 条
- 1
- 2
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功