新手求教,如何让单位根据自己的朝向移动?

有个单位旋转了60度,也就是该单位面向60度方向,那么如何让他移动的时候是朝着60度方向移动呢?

请大佬赐教

每次改变都把角度都记录一下,移动的速度写成根据角度来判断就行

可能我得描述不对,是单位旋转60度后,朝着这个角度移动,而不是移动到某个坐标呢

你旋转了60度 他的Y轴不正好是你要移动的方向吗?如果是3d就是z轴了,不过具体要看你是资源来

对,2D的,就是按照单位的Y轴移动

用向量控制移动呀,比如一开始往上走
可以理解为移动的增量 x=0 y=1
60度你换算下应该是 x=0.5 y=0.87

那像这种角度,怎么转化成向量呢

如何让物体移动的时候按照他自己的Y轴移动呢?

testMove
private testFun() {

    let speed = 10;

    //  移动节点

    let moveNode = this.test;

    moveNode.angle = 120;

    // 将角度转换为弧度

    let radian = cc.misc.degreesToRadians(moveNode.angle);

    // 计算 x 和 y 方向上的移动量

    let dx = Math.cos(radian) * speed;

    let dy = Math.sin(radian) * speed;

    cc.tween(moveNode)

        .by(.1, { position: cc.v2(dx, dy) })

        .repeatForever()

        .start();

}

写了一个测试的,你可以看看是不是你想要的效果

1赞

好使,朋友,就是这个方向好像不太对,我在这里+90度,方向才对,是不是下面的三角函数没计算对呢?

没问题,和你图片起始角度有关。比如你默认是朝上的图片,和你默认朝右的偏移量肯定不一样。所以你那么加是对的

非常感谢,我的朋友~