我正在尝试创建随机弯曲的动作,如滑翔鸟或一些飞行的“获得奖励”物品。这是几乎所有手机游戏中非常熟悉的动作。
所有奖励对象从角色/物体移动到屏幕上的静止点。所有样本奖励动作都遵循随机弯曲轨道。像抛物线或样条我不完全清楚。鸟类电影剪辑也在一系列弯曲的轨道上飞行。
如上所示,有人知道模拟这种运动的方法吗?
我试过:
我在线搜索,然后尝试使用Math.cos
和Math.sin
函数。我设法只生产圆形运动。但我需要随机半径和曲线的中心点。
谢谢你..
答案 0 :(得分:2)
我认为您正在寻找Hermite Spline的子类,称为Catmull-Rom Spline。它对游戏很有用,因为你不需要计算控制点;你只需要给出任意数量的航路点(即你的目标和目的地之间的一些半随机点),而Catmull-Rom Spline将顺利地适应所有这些航点。
可以在此处找到算法的ActionScript版本: http://flashcove.net/795/cubic-spline-generation-in-as3-catmull-rom-curves/