Unigine中的回调函数使用很方便。
1:)可以使用多达默认5个参数的回调函数
2:)可以不要求类函数申明为静态函数
3:)直接在Unigine的Include目录中拿到 CallBack.h头文件,调用即可使用。你的其余程序也可以这么做。
测试代码如下:
class TestClass
{
public:
TestClass()
{
}
void TestCallbackMethodA()
{
printf("I am callback\n");
}
void TestCallbackMethodB(int a, char* c)
{
printf("%s and %d\n", c, a);
}
///\测试无参数的回调方法
///
void TestA()
{
CallbackBase* back=MakeCallback(this,&TestClass::TestCallbackMethodA);
back->run();
}
///\测试使用多种参数的回调方法
///
void TestB()
{
CallbackBase2<int ,char*>* back = MakeCallback(this, &TestClass::TestCallbackMethodB);
back->run(10, "adsfadsf");
}
};
int main()
{
TestClass* tt = new TestClass();
tt->TestA();
tt->TestB();
system("pause");
return 0;
}