通过Bezier曲线移动对象,与旋转组合

时间:2011-11-14 04:26:27

标签: java android rotation andengine bezier

我的引擎(AndEngine)提供修改器,通过Bezier曲线路径移动对象,只需提供3或4个坐标。

在我的游戏中,我以确定的3分移动一些鸟类。然而,它看起来很假,因为鸟总是指向一个方向。

这看起来像是一个数学问题,但我想我应该发布StackOverflow而不是Math Exchange:如何确定鸟类的旋转角度(以弧度或度数为单位)?

2 个答案:

答案 0 :(得分:3)

你会拿两个点说P1和P2并找到它们之间的角度,然后在那个角度旋转你的鸟

    deltaX = nextPointX - YourBirdX;
    deltaY = NextPointY - YourBirdY;
    degree = ((Math.atan2(deltaY, deltaX)));
    angle = degree * 180 / 3.14;

    if(angle<0)
    {
        angle = 360+angle;
    }

我希望这会对你有所帮助。

答案 1 :(得分:0)

(bezier(path, position + epsilon) - bezier(path, position)) / epsilon怎么样?或者,如果你想要它没有epsilon,请查看贝塞尔曲线的第一个推导