动画帧事件监听的问题

动画中发现的问题,在帧事件监听内的代码新增动画,将会连续播放2次,不知这算不算bug,
如果是这样,那2.x版本要想实现一场战斗动画,必须将所有技能动画做到一个Layer的csb中,
通过帧序号分区段,无数次帧事件监听来实现?

//播放英雄出场动画
auto action = CSLoader::createTimeline("BattleLayer.csb");
battleRoot->runAction(action);
action->gotoFrameAndPlay(0, false);

//出场动画监听,播放结束开始战斗
action->setFrameEventCallFunc(=](Frame* frame){
    auto event = dynamic_cast<EventFrame*>(frame)->getEvent();
    if (event != "BattleLayer_end")
    {
        return;
    }

    //test
    //火球飞行动画
    auto fly = Sprite::create("Action/skill0/fly_00.png");
    battleRoot->addChild(fly);
    fly->setPosition(50, 50);
    fly->setVisible(false);

    auto move = MoveTo::create(2.0f, Vec2(500, 960));

    fly->runAction(Sequence::create(
        DelayTime::create(2.0f),
        CallFunc::create(=]{fly->setVisible(true); }),
        move, 
        CallFunc::create(=]{fly->removeFromParentAndCleanup(true);}), 
        nullptr));

});

方便提供工程吗?

你的2d-x版本是多少?
studio呢?
2d-x3.3rc2开始支持监听动画结束时的回调。
你可以看看

3.3final+2.06

“支持监听动画结束时的回调” 这个在哪里有用法说明啊?