测试代码很简单,给定一个节点,并挂上cc.BoxCollider3D。
然后在update方法中设置节点的位置。
这时候如果你的update方法调用来自
cc.director.getScheduler().enableForTarget(this);
cc.director.getScheduler().scheduleUpdate(this, 0, false);
那么物理信息无法同步!!!
如果你的update方法调用来自某个节点的cc.Component,这样物理信息就同步了。
TestTick.zip (828.2 KB)
重现方法:Main.ts 中注释不同的代码来测试两种方式的不同。
//使用节点组件的方式
// let tickNode:cc.Node=new cc.Node("TickManager");
// this.node.addChild(tickNode);
// this.tickManager=tickNode.addComponent(TickManagerComponent);
// this.tickManager.addTicker(this);
//使用director.getScheduler方式
this.tickManager=new TickManager();
this.tickManager.addTicker(this);