官方案例
update: function (dt) { if (!this.isMoving) return; var oldPos = this.follower.position; // get move direction var direction = cc.pNormalize(cc.pSub(this.moveToPos, oldPos)); // multiply direction with distance to get new position var newPos = cc.pAdd(oldPos, cc.pMult(direction, this.followSpeed * dt)); // set new position this.follower.setPosition(newPos); }
以上是每帧都会运行的钩子方法,其中 cc.pNormalize() 返回的是长度为 1 的归一化向量氛围,cc.pSub() 是通过向量减法得到带方向的向量材质材料,使用归一化的方法可以直接返回一个“方向”。cc.pAdd() 是向量加法cocos creator教程,cc.pMult() 是向量缩放。这里将设置的速度参数乘以归一化后的“方向”,再加上旧的向量,得到新的向量坐标。最终的效果就是跟随节点会按照我们设置的速度,朝着得到的“方向”不断移动。
关于向量用法的更多信息cocos creator教程,请前往查看。