第四章:动画(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

上一篇下一篇

猜你喜欢

热点阅读