首先,确定怎么让用户看起来爽。说白了就是帧率的问题,因为一般的旋转加载都是按照顺时针360旋转。所以做角度切分是最方便确定帧率的方法。
确定帧率需要考虑的因素:
- TotalAngle,旋转的总共角度:360。
- MoveStep旋转距离(最外侧的圆,每帧移动的距离,就是说的动画中每帧之间那点微小的变化。确定这个需要考虑的因素有,需要旋转的图形本身的大小,使用最大圆半径MaxR。用户眼部到屏幕的一般距离是多少。)
- 旋转方向,根据人们一般性的习惯,看钟表的习惯,基本上会采用逆时针方向。
- TotalTime,做完一次完整动画的时间。
- FT,人眼视觉残留要求最低帧数16/s。一般情况下这个值会取24/s.
则确定公式为 TotalTime = TotalAngle/( 2*M_PI / MoveStep)*FT
其次就是具体实现的问题了。
实现这种旋转动画,有两种方式。
1、图片替换。按照确定的帧数,隔固定的时间替换图片。
2、单一图片,沿z轴顺时针旋转。