From e925137b4ee10a8bb97dc41af2bbc7343c826761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=9D=E7=88=B7?= Date: Wed, 15 Sep 2021 00:08:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B7=9F=E8=B8=AA=E7=9A=84?= =?UTF-8?q?=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Script/example/SyncExmaple.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assets/Script/example/SyncExmaple.ts b/assets/Script/example/SyncExmaple.ts index 1515c1a..c78ed83 100644 --- a/assets/Script/example/SyncExmaple.ts +++ b/assets/Script/example/SyncExmaple.ts @@ -17,7 +17,10 @@ export default class SyncExample extends Component { vec.x = 123; let diff = getReplicateObject(vec).genDiff(this.lastVersion, this.lastVersion + 1); console.log(`vec diff ${diff}`);*/ - let syncProperty = ['_scale', '_position', '_eulerAngles']; + // 跟踪的属性并不能直接apply,而是需要调用接收者的如setPosition等方法使其生效 + // 这里可以考虑将Node的同步作为一个组件进行挂载,专门负责与Cocos节点相关的同步工作 + // 也可以考虑通过装饰器参数的描述来处理这种情况,比如 { name : _lpos, setter : setPosition, } + let syncProperty = ['_lscale', '_lpos', '_euler']; makeObjectReplicated(this.leftNode, { SyncProperty : syncProperty}); }