this->scheduleOnce(schedule_selector(SelectGameScene::startGameCallback),this, 0.0f, false);
我出错:必须调用对非静态成员函数的引用。
void startGameCallback(float dt); //in h file
void SelectGameScene::startGameCallback(float dt)
{
Director::getInstance()->replaceScene(TransitionFade::create(TRANSITION_TIME, GameScene::createScene()));
}
哪里
#define CC_SCHEDULE_SELECTOR(_SELECTOR) static_cast<cocos2d::SEL_SCHEDULE>(&_SELECTOR)
typedef void (Ref::*SEL_SCHEDULE)(float);
我在使用c ++ 11标准和cococ2d-x ver4.0库的XCode上收到此错误。
更新:我尝试了此代码
this->scheduleOnce(schedule_selector(&SelectGameScene::startGameCallback),this, 0.0f, false);
我在使用未声明的标识符'schedule_selector'时出错”>
Update2
我发现了问题。我通过静态方法createScene创建了此类。class SelectGameScene : public cocos2d::Layer
{
public:
static cocos2d::Scene* createScene();
}
this-> scheduleOnce(schedule_selector(SelectGameScene :: startGameCallback),this,0.0f,false);我收到一个错误:必须调用对非静态成员函数的引用。 void startGameCallback(float ...
语法SelectGameScene::startGameCallback
无效。它必须具有&
: