我正在尝试将Bouncing Bubbles Processing 示例移植到 C++(使用 OpenFrameworks)中,但遇到了一些麻烦。在类的定义中:
class Ball {
float x, y;
float diameter;
float vx = 0;
float vy = 0;
int id;
Ball[] others;
...
void collide() {
for (int i = id + 1; i < numBalls; i++) {
float dx = others[i].x - x;
float dy = others[i].y - y;
float distance = sqrt(dx*dx + dy*dy);
...
看起来对象,“其他”正在其自己的类中声明。我尝试添加 Ball others(<arguments>);
到我的 C++ 类中,但 XCode 对我生气并留下一条控制台消息,威胁要吃掉我未来的孩子,所以我一定做错了什么。我在想这可能是 Java/Processing 的事情——但我对 C++ 类还是很陌生。
有没有办法在 C++ 中完成同样的事情,或者我最好将碰撞函数移出类并通过一些修改进入 testApp 类?