动画问题求助,附代码

比较简单的动作,hero向enimy发射一个火球,从程序看明明只会发射1次,但每次运行总是会连续发射2个,
多出的1个是哪来的呢,查了很久都发现不了问题。 貌似这个问题只是通过代码新增火球sprite才会有,如果
将火球sprite预先设置在csb文件里,从csb里获取,就不会重复发射。 版本是3.3final+2.06。

    //火球动画
auto flyskill0 = Animate::create(AnimationCache::getInstance()->getAnimation("flySkill0"));
auto flyanim = RepeatForever::create(flyskill0);
auto fly = Sprite::create();
HeroSprite->getParent()->addChild(fly);
fly->setPosition(HeroSprite->getPosition());
fly->setVisible(false);
fly->runAction(flyanim);

//飞行动画
auto move = MoveTo::create(2.0f, EnimySprite->getPosition());
fly->runAction(Sequence::create(
    DelayTime::create(2.0f),
    CallFunc::create(=]{fly->setVisible(true);}),
    move, 
    CallFunc::create(=]{fly->removeFromParentAndCleanup(true);}), 
    nullptr));