关于动作Action被重复调用问题

请帮分析下代码

void HelloWorld::runTargetAction()
{
    cocos2d::Vector _vecRunAction;
    for (int i = 0; i < 3; i++)
    {
        Sprite* sprite = Sprite::create("XX.png");
        this->addChild(sprite);
        Vec2 ptEnd = Vec2(300, 300);
        std::function funCallBack = &](Node* pNode)
        {
            if (pNode)
            {
                Spawn* pSpawn = Spawn::create(Action* 1, Action* 2, nullptr);
                pNode->runAction(pSpawn);
            }
        };
        CallFuncN* pCallFuncN = CallFuncN::create(std::bind(funCallBack, std::placeholders::_1, ptEnd));
        _vecRunAction.pushBack(TargetedAction::create(sprite, pCallFuncN));  // 方式一
        //_vecRunAction.pushBack(TargetedAction::create(sprite, Sequence::create(DelayTime::create(0.01), pCallFuncN, nullptr))); // 方式二
    }

    if (_vecRunAction.size())
    {
        float tdelay = 0.05f;
        Action* p = this->runAction(Sequence::create(Spawn::create(_vecBombWaitRunAction), DelayTime::create(tdelay),
            CallFuncN::create(&](Node *node){
            CCLOG("run clear Action");
        }), nullptr));
        _vecRunAction.clear();
    }
}


```



用方式一  funCallBack变量动作会被执行两次, 
用方式二 则无问题 是pCallFuncN(FiniteTimeAction) 类的BUG(动作持继时间为0)吗 ?

有人回应吗?

mark111111111111