我正在为2D项目创建SDL的简单粒子系统。我的这一代人的功能很好,我可以创造速度,以及粒子生成的位置。我需要做的是指示移动的方向,例如,像在火箭烟雾中一样。那么如何让粒子系统选择粒子运动的方向呢?如何在二维粒子系统中实现方向?
1
A
回答
2
为了给每个粒子的运动方向,选择一个绝对角度(0指向显示的右侧),模量(粒子的速度)并执行这些简单的三角指令:
vel.x = speed*cos(angle);
vel.y = speed*sin(angle);
实际指令依赖于基础数据结构,但数学概念是完美的。只要注意角度和使用的功能:两者必须具有相同的角度单位(度,弧度,...)。
相关问题
- 1. 如何给粒子系统
- 2. 粒子系统
- 3. lua - 表维护(粒子系统相关)
- 4. 具有随机速度的二维粒子系统
- 5. 粒子系统中的粒子表现怪异
- 6. AndEngine粒子系统
- 7. SFML.NET粒子系统
- 8. 粒子系统libGDX
- 9. 粒子系统DontDestroyOnLoad
- 10. libGdx中的粒子系统
- 11. 统一3d - 粒子系统
- 12. 粒子系统:粒子生成
- 13. 使用获取/设置粒子来实例化粒子系统
- 14. 如何使用粒子对象优化画布粒子系统
- 15. 如何获得粒子系统之一?
- 16. 如何使粒子系统可点击
- 17. 如何停止粒子系统
- 18. SFML粒子系统架构
- 19. 粒子系统错误
- 20. C++粒子系统Allegro 5
- 21. XNA粒子系统性能
- 22. 粒子系统设计?
- 23. OpenGL的粒子系统
- 24. 自定义粒子系统
- 25. OGRE - 创建粒子系统
- 26. 粒子系统 - 烟囱冒烟运动方向
- 27. 如何实现二维ListView
- 28. 如何在Java中实现两个二维向量?
- 29. 如何在iphone上创建粒子系统并保留创建的粒子?
- 30. 如何将粒子系统附加到对撞机或者如何使用角色移动粒子系统
如果您的意思是使用角度和模量定义每个粒子的速度,只需使用简单的三角函数。 – 2012-08-10 22:53:09
嗯,这可能会奏效,但请您举个例子,对此有点麻烦。 – Annabelle 2012-08-10 22:53:46
我会回答,一会儿。 – 2012-08-10 22:54:03