当前位置: 首页>>代码示例>>C++>>正文


C++ ActionTimeline::addFrameEndCallFunc方法代码示例

本文整理汇总了C++中ActionTimeline::addFrameEndCallFunc方法的典型用法代码示例。如果您正苦于以下问题:C++ ActionTimeline::addFrameEndCallFunc方法的具体用法?C++ ActionTimeline::addFrameEndCallFunc怎么用?C++ ActionTimeline::addFrameEndCallFunc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ActionTimeline的用法示例。


在下文中一共展示了ActionTimeline::addFrameEndCallFunc方法的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);
}
开发者ID:,项目名称:,代码行数:72,代码来源:


注:本文中的ActionTimeline::addFrameEndCallFunc方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。