各位大侠 我在下面这段代码中 注释掉unschedule( schedule_selector(PauseTest::unpause) );
希望能够实现循环执行动作 但运行发现 并未实现循环执行动作的效果 我尝试在void PauseTest::unpause(float dt)方法中下断点 发现时间间隔后会自动在断点处中断 但问题是动作就是不执行 不得其解
//------------------------------------------------------------------
//
// PauseTest
//
//------------------------------------------------------------------
void PauseTest::onEnter()
{
//
// This test MUST be done in ‘onEnter’ and not on ‘init’
// otherwise the paused action will be resumed at ‘onEnter’ time
//
ActionManagerTest::onEnter();
auto l = Label::createWithTTF("After 2 seconds grossini should move", "fonts/Thonburi.ttf", 16.0f);
addChild(l);
l->setPosition(VisibleRect::center().x, VisibleRect::top().y-75);
//
// Also, this test MUST be done, after
//
auto grossini = Sprite::create(s_pathGrossini);
addChild(grossini, 0, kTagGrossini);
grossini->setPosition(VisibleRect::center() );
//auto action = MoveBy::create(1, Vec2(150,0));
auto action = RotateBy::create(1.5f, 360);
auto director = Director::getInstance();
director->getActionManager()->addAction(action, grossini, true);
schedule( schedule_selector(PauseTest::unpause), 2);
}
void PauseTest::unpause(float dt)
{
//unschedule( schedule_selector(PauseTest::unpause) );
auto node = getChildByTag( kTagGrossini );
auto director = Director::getInstance();
director->getActionManager()->resumeTarget(node);
}
std::string PauseTest::subtitle() const
{
return “Pause Test”;
}