我的引擎(AndEngine)提供修改器,通过Bezier曲线路径移动对象,只需提供3或4个坐标。
在我的游戏中,我以确定的3分移动一些鸟类。然而,它看起来很假,因为鸟总是指向一个方向。
这看起来像是一个数学问题,但我想我应该发布StackOverflow而不是Math Exchange:如何确定鸟类的旋转角度(以弧度或度数为单位)?
答案 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,请查看贝塞尔曲线的第一个推导。