第四章:动画(Animation)
2018-07-29 本文已影响40人
xiaolei123
动画是什么?原理?
动画是由多个帧,在设置时间内,按照一定的序列进行展示。
Animation
1.定义:管理游戏中动画实现的类,实现只需要两个参数,时间:duration,另外则是TextureRegion 即图片。
2.用途:管理动画,设置随即播放模式和播放顺序。
代码:
val animation = Animation (float frameDuration, TextureRegion... keyFrames)
第一个参数是播放每一帧的时间,第二个是图片
动画原理如下:
动画分解
获取关键帧:
public TextureRegion getKeyFrame (float stateTime, boolean looping)
1.方法返回的是当前时间,Animation中的TextureRegion图片。
2.第一个是时间,第二个参数,是否循环播放。
播放模式:
Animation提供6中播放模式:
NORMAL ,REVERSED ,LOOP ,LOOP_REVERSED ,LOOP_PINGPONG,LOOP_RANDOM
NORMAL :正常模式
REVERSED :反向播放
LOOP :循环播放
LOOP_REVERSED :循环反向播放
LOOP_PINGPONG :向前播放几张,再向后播放几张
LOOP_RANDOM
图片裁剪方法
TextureRegion[][] regions = TextureRegion.split (Texture texture, int tileWidth, int tileHeight)
StateTime
1.类似于一个计时器
2.stateTime += Gdx.graphics.deltaTime
, 它是获取一个状态下所持续的一个时间,就像在现实世界使用的时间。
3.一般配合系统时间使用 Gdx.graphics.deltaTime 获取系统渲染时间,LibGdx中的渲染时间间隔,一般是0.173秒左右。
效果图:
动画效果图
代码:https://gitee.com/xcode_xiao/LibGdxDemos2/tree/master/AnimationDemo