卷轴游戏世界中,通常有些地方需要用到刚体组件,如何让这些带有刚体的节点乖乖在父节点中特定的位置呢?
在网上看了一些解决方案,比如说当父节点移动的时候,计算出它的偏移,然后据此偏移量再手动的设置带有刚体的子节点的位置。
这里提供一个稍微简单一点的方法。
思路:直接在子节点上挂一个脚本,该脚本的作用是让这个节点一直执行一个移动动作,代码如下:
cc.Class({
extends: cc.Component,
onLoad () {
var moveby = cc.moveBy(1000,0.0001,0);
var movebyReverse = cc.moveBy(1000,-0.0001,0);
var seq = cc.sequence(moveby,movebyReverse);
this.node.runAction(seq.repeatForever());
},
});
然后就可以和父节点坐标世界一致了。貌似并不影响其他脚本执行运动事件(还待进一步试验...)。当然这样做虽然只需要在目标节点上挂载一个脚本,操作简单,但是性能上就没有前边说的那种方式高了。