LibGDX游戏引擎-12-动作Action类的运用

qsuron 发布于 2014-04-24 libGDX框架 53 次阅读 1 评论 2282 字 预计阅读时间: 10 分钟



libgdx的作者刻意的使用了舞台、演员,为了方便我们去开发游戏,其实在作者还提供给我们了一个更重要的类,那就是Action类,也叫动作类或演出类,很多朋友希望我能讲解下关于
新版本的Action类是如何使用的,其实Action类分为2种,一种是负责演员表现的表现类,另一种是负责控制表现类的控制类。

一、表现类

包括旋转、放缩、移动、淡入、淡出、延迟等动作

注意:Action中所有动作都是static静态的,因此直接使用即可而不需要去实例化,直接通过Actions类进行生产即可。

(1)AlphaAction 类负责改变演员的透明度。

AlphaAction alphah = Actions.alpha(0.6f, 20);
参数①:要达到的透明度的值,0 - 1 的一个数值
参数②:达到时间,即经过多少时间达到指定的透明度

(2)ColorAction 类负责改变演员的颜色。

ColorAction color= Actions.color(Color.RED, 20);
参数①:要达到的颜色的值,一般是Color 类型
参数②:达到时间,即经过多少时间达到指定的颜色

(3)DelayAction 类负责延迟执行演员动作。

DelayAction delay = Actions.delay(20.0f);
参数①:要延迟执行的时间,一般是float 类型。

(4)fade in / fade out 效果通过在固定的时间内改变演员的透明度,同时实现淡入淡出类,这个其实是AlphaAction的一个特例。

AlphaAction alpha = Actions.fadeIn(duration);
AlphaAction alpha = Actions.fadeOut(duration);

方法①:fadeIn(float duration)在传入的时间内,透明度从初始值达到 1 ,实现淡入的效果。

方法②:fadeOut(float duration)在传入的时间内,透明度从初始值达到 0 ,实现淡出的效果。

(5)MoveToAction 类负责改变演员的位置

MoveToAction moveto = Actions.moveTo(240, 160, duration);
参数①:要达到的坐标值
参数②:达到时间,即经过多少时间达到指定的坐标

(6)RotatoToAction 类负责实现演员的旋转效果

RotateToAction rotateto = Actions.rotateTo(rotate, duration);
参数①:要旋转的角度
参数②:达到该旋转角度的时间,即经过多少时间达到指定的角度

(7)ScaleToAction 类负责改变演员大小的类,即沿X轴或者Y轴放缩大小,实现改变Actor大小的效果

ScaleToAction scaleto = Actions.scaleTo(scale, scale, duration);
参数①:X轴要达到的放缩比例
参数②:Y轴要达到的放缩比例
参数③:经过多少时间达到指定的放缩比例
以上所讲述的七个类,就是基本的表现类,当然在Api中还有一些其他的类,如moveBy、scaleBy等表现类,当然用法基本和上述同名的类一样,这里就不讲解了,估计大家都能理解。
很多动画效果,都可以通过不同的表现类来组合实现,当然组和这些类就需要专门的控制类来管理,下面我们就来讲解下控制类。
请见下一页