fix action timeline step over frame when no (loop play && timespeed>1)

This commit is contained in:
geron-cn 2015-04-15 13:32:04 +08:00
parent b8083f2c99
commit 7b376fd384
1 changed files with 13 additions and 8 deletions

View File

@ -199,22 +199,27 @@ void ActionTimeline::step(float delta)
}
_time += delta * _timeSpeed;
_currentFrame = (int)(_time / _frameInternal);
stepToFrame(_currentFrame);
if(_time > _endFrame * _frameInternal)
if(_time < _endFrame * _frameInternal)
{
_currentFrame = (int)(_time / _frameInternal);
stepToFrame(_currentFrame);
}
else
{
if(_lastFrameListener != nullptr)
_lastFrameListener();
_playing = _loop;
if(!_playing)
{
_time = _endFrame * _frameInternal;
else
_currentFrame = (int)(_time / _frameInternal);
stepToFrame(_currentFrame);
}
else
gotoFrameAndPlay(_startFrame, _endFrame, _loop);
}
}
typedef std::function<void(Node*)> tCallBack;