就是上面贴的代码,
1赞

这个我研究了好久,始终没有明白
我重新编辑了下, 之前可能有点绕。
![]()
lerp里的参数可以根据自己想要的效果调整
1赞
哈哈哈哈,我研究出来一点味道了
改变节点的角度即可,也不难实现
你这是什么插件,参数名也能显示出来

应该是这个
1赞
大佬,这个视频里的效果你用cocos creator有做出来吗,我现在也想实现这种效果
实现了,多少有些不一样
有没有代码参考一下
Vec3.subtract(this.dir, this.enemy.position, this.node.position)
this.node.angle = math.toDegree(Math.atan2(this.dir.y, this.dir.x)) - 90
Quat.fromAxisAngle(this.node.rotation, Vec3.UNIT_Z, Math.atan2(this.dir.y, this.dir.x) - 1.5)
Quat.fromEuler(this.quat, 0, 0, this.rotationAngle)
Quat.multiply(this.node.rotation, this.node.rotation, this.quat)
Vec3.multiplyScalar(this.trans, this.direction, this.speed * dt)
this.node.translate(this.trans)
angle我测试赋值就行,什么值都行
1.5 这个就是调节作用的
如果你实现的效果好,请告诉我
我的想法是给定一个导弹的随机方向,然后使用tween将导弹旋转至瞄准方向,并且在tween的onUpdate中根据旋转的方向移动导弹,这样就能实现随机出发点的导弹了,但我没实现出来- -。话说你这个代码里的this.quat和this.rotationAngle的初始值是啥,有没有完整一些的代码,但看这个感觉只是导弹旋转至目标并且向其移动
这个插件试了没用
// 旋转角度
rotationAngle: number
quat = new Quat()
dir = new Vec3()
direction是方向 比如 Vec3.UNIT_Y
这样写难道不会出现导弹旋转角度大于180的问题吗,旋转的方向感觉要根据正负夹角的大小来进行判断才行
啥意思aa
很简单的。this.node.translate(new Vec3(this.speed,0,0))然后改变节点的角度angle即可。

