ActionInterval::isDone()这个函数只有一句,旧版本的是:
return _elapsed >= _duration;
新版本是:
// fix #14936 _duration is not 0, but _elapsed is 0.
return (_elapsed + FLT_EPSILON) >= _duration;
估计这样改动是为了解决某个bug. 可惜的是,又引入了新的问题.我的代码是:
CCCallFuncN *func = CallFuncN::create(CC_CALLBACK_1(GameScene::RemoveNetNode, this));
NetNode->runAction(Sequence::create(fadeIn, delay, fadeOut, func, NULL));
NetNode->runAction(Shake::actionWithDuration(3, CCSize(3, 3)));
在WINDOWS下调试,执行完fadeout之后,发现有很大机率会跳过最后一个func的执行. 但如果用Spawn把两个动作联结在一起,又没有问题.