本文整理汇总了C++中ActionTimeline::setAnimationEndCallFunc方法的典型用法代码示例。如果您正苦于以下问题:C++ ActionTimeline::setAnimationEndCallFunc方法的具体用法?C++ ActionTimeline::setAnimationEndCallFunc怎么用?C++ ActionTimeline::setAnimationEndCallFunc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ActionTimeline
的用法示例。
在下文中一共展示了ActionTimeline::setAnimationEndCallFunc方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onEnter
//TestAnimationClipEndCallBack
void TestAnimationClipEndCallBack::onEnter()
{
ActionTimelineBaseTest::onEnter();
Node* node = CSLoader::createNode("ActionTimeline/DemoPlayer_skeleton.csb");
ActionTimeline* action = CSLoader::createTimeline("ActionTimeline/DemoPlayer_skeleton.csb");
node->runAction(action);
node->setScale(0.2f);
node->setPosition(150, 150);
// test for frame end call back
action->addFrameEndCallFunc(5, "CallBackAfterFifthFrame", [this] {
auto text = ui::Text::create();
text->setString("CallBackAfterFifthFrame");
text->setPosition(Vec2(100, 40));
text->setLocalZOrder(1000);
this->runAction(Sequence::create(
CallFunc::create([this, text]{this->addChild(text); }),
DelayTime::create(3),
CallFunc::create([text]{text->removeFromParent(); }),
nullptr));
});
action->addFrameEndCallFunc(5, "AnotherCallBackAfterFifthFrame", [this] {
auto text = ui::Text::create();
text->setString("AnotherCallBackAfterFifthFrame");
text->setPosition(Vec2(100, 70));
this->runAction(Sequence::create(
CallFunc::create([this, text]{this->addChild(text); }),
DelayTime::create(3),
CallFunc::create([text]{text->removeFromParent(); }),
nullptr));
});
action->addFrameEndCallFunc(7, "CallBackAfterSenvnthFrame", [this] {
auto text = ui::Text::create();
text->setString("CallBackAfterSenvnthFrame");
text->setPosition(Vec2(100, 100));
this->runAction(Sequence::create(
CallFunc::create([this, text]{this->addChild(text); }),
DelayTime::create(3),
CallFunc::create([text]{text->removeFromParent(); }),
nullptr));
});
// test for animation clip end call back
action->setAnimationEndCallFunc("stand", [this] {
auto text = ui::Text::create();
text->setString("CallBackAfterStandAnimationClip");
text->setPosition(Vec2(100, 130));
this->runAction(Sequence::create(
CallFunc::create([this, text]{this->addChild(text); }),
DelayTime::create(3),
CallFunc::create([text]{text->removeFromParent(); }),
nullptr));
});
AnimationClip animClip("testClip", 3, 13);
animClip.clipEndCallBack = ([this,node] {
auto text = ui::Text::create();
text->setString("testClip");
text->setPosition(Vec2(100, 140));
this->runAction(Sequence::create(
CallFunc::create([this, text]{this->addChild(text); }),
DelayTime::create(3),
CallFunc::create([text]{text->removeFromParent(); }),
nullptr));
});
action->addAnimationInfo(animClip);
action->setTimeSpeed(0.2f);
addChild(node);
action->gotoFrameAndPlay(0);
}