我通常编写 C# 和 Objective C,但我正在用 C++ 在 openframeworks 中编写一些东西并尝试使用 Tweenzor 对其进行动画处理,如果我在我的类中放置一个变量,它就可以正常工作,例如 h
float mainX;
cpp
mainX = 100;
Tweenzor::add(&mainX, (float)mainX, (radius * 2), 0.0f, 2.5f);
但是如果我创建一个名为 menuCircle 的类,它说它完成但没有任何变化,我感觉它正在增加一些东西,但不是类中的实例变量,知道如何通过引用来调用它吗?我尝试了 15 种不同的方法:h
class menuCircle
{
public:
float x;
float y;
float r;
ofColor c;
void init(float xCoord, float yCoord, float radius);
void move(float x, float y);
void animate(float xCoord, float yCoord, float radius);
void didFinish(float *e);
};
cpp
void menuCircle::animate(float xCoord, float yCoord, float radius){
Tweenzor::add(&x, x, xCoord, 0.0f, 2.5f);
Tweenzor::addCompleteListener( Tweenzor::getTween(&x), this, &menuCircle::didFinish);
ofLog(OF_LOG_NOTICE, "tweening");
}
void menuCircle::didFinish(float *e){
ofLog(OF_LOG_NOTICE, "tweening finished");
}