actionUS:gotoFrameAndPlay(0,10,false)
在播放动画时,经常在第8帧或者第9帧动作就停止了,少播放1-2帧。
出现几率大概30%吧, 很频繁。
大家有遇到类似情况吗
cocos studio 版本2.2.8
Cocos2d-x 版本3.5
actionUS:gotoFrameAndPlay(0,10,false)
在播放动画时,经常在第8帧或者第9帧动作就停止了,少播放1-2帧。
出现几率大概30%吧, 很频繁。
大家有遇到类似情况吗
cocos studio 版本2.2.8
Cocos2d-x 版本3.5
上demo



我正在遇到这种情况,貌似是每个动画都会少播放一帧,比如明明写的是0-10,结果只会播到第9帧,头痛死了,不知道是bug还是动画使用方法有问题,求大神解答啊!!跪谢!!!
这个问题,我们之前也遇到了。
是因为 _currentFrame = (int)(_time / _frameInternal); 这里有精度丢失。
cocos2d-x 3.6:
CCActionTiemline.cpp
void ActionTimeline::step(float delta)
{
if (!_playing || _timelineMap.size() == 0 || _duration == 0)
{
return;
}
_time += delta * _timeSpeed;
if(_time < _endFrame * _frameInternal)
{
_currentFrame = (int)(_time / _frameInternal);
stepToFrame(_currentFrame);
}
else
{
if(_lastFrameListener != nullptr)
_lastFrameListener();
_playing = _loop;
if(!_playing)
{
_time = _endFrame * _frameInternal;
_currentFrame = _endFrame; // 改这一句! (int)(_time / _frameInternal);
stepToFrame(_currentFrame);
}
else
gotoFrameAndPlay(_startFrame, _endFrame, _loop);
}
}