mirror of https://github.com/axmolengine/axmol.git
Merge pull request #17 from geron-cn/xiaov3
fix actiontimeline step over frame when (noloop play && timespeed>1)
This commit is contained in:
commit
a8fcaf4f4f
|
@ -199,22 +199,27 @@ void ActionTimeline::step(float delta)
|
||||||
}
|
}
|
||||||
|
|
||||||
_time += delta * _timeSpeed;
|
_time += delta * _timeSpeed;
|
||||||
|
|
||||||
|
if(_time < _endFrame * _frameInternal)
|
||||||
|
{
|
||||||
_currentFrame = (int)(_time / _frameInternal);
|
_currentFrame = (int)(_time / _frameInternal);
|
||||||
|
|
||||||
stepToFrame(_currentFrame);
|
stepToFrame(_currentFrame);
|
||||||
|
}
|
||||||
if(_time > _endFrame * _frameInternal)
|
else
|
||||||
{
|
{
|
||||||
if(_lastFrameListener != nullptr)
|
if(_lastFrameListener != nullptr)
|
||||||
_lastFrameListener();
|
_lastFrameListener();
|
||||||
|
|
||||||
_playing = _loop;
|
_playing = _loop;
|
||||||
if(!_playing)
|
if(!_playing)
|
||||||
|
{
|
||||||
_time = _endFrame * _frameInternal;
|
_time = _endFrame * _frameInternal;
|
||||||
|
_currentFrame = (int)(_time / _frameInternal);
|
||||||
|
stepToFrame(_currentFrame);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
gotoFrameAndPlay(_startFrame, _endFrame, _loop);
|
gotoFrameAndPlay(_startFrame, _endFrame, _loop);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef std::function<void(Node*)> tCallBack;
|
typedef std::function<void(Node*)> tCallBack;
|
||||||
|
|
Loading…
Reference in New Issue