public int getKeyFrameIndex (float stateTime) {\r
int frameNumber = (int)(stateTime / frameDuration);\r
\r
+ if(keyFrames.length == 1)\r
+ return 0;\r
+ \r
switch (playMode) {\r
case NORMAL:\r
frameNumber = Math.min(keyFrames.length - 1, frameNumber);\r
frameNumber = frameNumber % keyFrames.length;\r
break;\r
case LOOP_PINGPONG:\r
- frameNumber = frameNumber % (keyFrames.length * 2);\r
- if (frameNumber >= keyFrames.length) frameNumber = keyFrames.length - 1 - (frameNumber - keyFrames.length);\r
- break;\r
+ frameNumber = frameNumber % ((keyFrames.length * 2) - 2);\r
+ if (frameNumber >= keyFrames.length)\r
+ frameNumber = keyFrames.length - 2 - (frameNumber - keyFrames.length);\r
+ break;\r
case LOOP_RANDOM:\r
frameNumber = MathUtils.random(keyFrames.length - 1);\r
break;\r