制作一个简单的粒子系统
Making a simple particle system
我有一个关于我设计粒子系统的方式的问题。
现在我有一个P类,它存储有关粒子的所有信息,例如速度,位置,方向,类型等。我还有一个主文件,我将绘制这些粒子,更新和实例化它们。我想使用 c++ std 列表库创建这些粒子的列表,所以最初我这样做了
std::list<P> listOfParticles;
在主文件中。这就是问题所在。通过这样做,我基本上将被迫在主文件中进行更新和绘制函数。我觉得这是不好的做法,与粒子有关的所有内容都应该放在一个课堂上,但我不确定在最佳实践方面从哪里开始。在我定义粒子是什么的 P 类中创建一个粒子列表是个好主意吗?我觉得这不是一个聪明的主意。如果有人能引导我朝着正确的方向前进,我将不胜感激。
"通过这样做,我基本上将被迫在主文件中进行更新和绘制函数"
没有人阻止您将类成员的声明/定义放在相同/不同的 .h/.cpp 文件中。
编辑:-
这就是我所说的,如果你把它List
作为其他类的成员,你会把所有函数都放在操纵这个列表上,那就更好了。
你的粒子列表很可能应该有自己的类,let C,它将处理存储、初始空间分布、时间更新......即粒子云上的所有全局操作。如果您确定将永远处理单个列表,则可以将其设置为静态成员。
表示单个粒子 (P) 的类可以嵌套到 (C) 中,如果不需要从外部看到它。它将封装粒子数据,并可能还模拟与另一个粒子和其他单粒子操作的成对交互。
相关文章:
- 在c++中用vector填充一个简单的动态数组
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 为什么一个简单的程序不能立即启动
- C++ - 在我尝试制作一个简单的计算器时有一个"uninitialized local variable y used"警告
- 为什么 MSVC C++编译器将一个简单的 Hello World 扩展为 4000 行汇编?
- 我写了一个简单的矢量程序,在其中我得到了以下输出。你能帮我理解它的输出吗?
- 如何使用 c++ 在命令行中创建一个简单的字符控制器?
- 对于 ~95% 写入/5% 读取线程安全的无序列图,有没有一个简单的解决方案?
- 在C++中创建一个简单的数据包路由器,如何跟踪"客户端"?
- 创建一个简单的前向迭代器,该迭代器在循环缓冲区的"end"处自动换行
- 我已经安装了用于c++编程的升华3,但在编写了一个简单的程序后,我遇到了以下错误
- 如何设置一个简单的CGAL+Qt程序
- 如何在一个简单的C++项目中使用Poco库
- 我创建了一个简单的程序,但有些地方不对劲
- Qt的新信号/时隙语法问题 - 连接到一个简单的函数
- 一个简单的 win32 多线程代码.这能行吗?
- 我正在尝试构建一个简单的程序来从 mysql 数据库中读取信息
- 创建一个简单的计算器,添加时遇到问题
- 我正在编写一个简单的客户端套接字应用程序,但在连接后服务器收到一个空缓冲区
- 为什么一个简单的"Hello World"风格的程序不能用Turbo C++编译?