如何在2D粒子系统中实现方向?

时间:2012-08-10 22:45:08

标签: c++ 2d sdl motion

我正在为2D项目创建一个简单的SDL粒子系统。我的生成功能很好,我可以创建速度,以及粒子生成的位置。我需要做的是指示运动方向,例如,像火箭的烟雾轨迹一样。那么如何让粒子系统选择粒子的运动方向呢?

1 个答案:

答案 0 :(得分:2)

为了给每个粒子一个运动方向,选择一个绝对的角度(0指向显示的右侧),一个模数(对于粒子的速度)并执行这些简单的三角指令:< / p>

vel.x = speed*cos(angle);
vel.y = speed*sin(angle);

实际指令取决于底层数据结构,但数学概念是完美无缺的。请注意角度和使用的功能:两者必须具有相同的角度单位(度,弧度,......)。