ActionScript
TypeScript
JavaScript

使用Animation类来播放帧动画

发布时间:2017-01-20

        在LayaAir引擎中可以使用laya.display.Animation类播放帧动画。对于帧动画来说,每一帧都是一个Graphic对象,只要给Animation对象传一个Graphic数组就可以通过切换不同的Graphic来显示动画。但是并不需要手动去创建Graphic数组,Animation可以通过一下三种形式传入动画数据:

1、以“,”分隔的字符串,如“a0.png,a1.png,a2.png”

2、图集文件

3、编辑器导出的动画文件,后缀名为.ani


以下代码中将示例如何使用帧动画:

package  
{
	import laya.display.Animation;
	import laya.net.Loader;
	import laya.utils.Handler;
	/**
	 * ...
	 * @author ww
	 */
	public class AnimationSample 
	{
		
		public function AnimationSample() 
		{
			
		    //初始化引擎
			Laya.init(600, 400);
			
			//加载引擎需要的资源
			Laya.loader.load([{url: "res/atlas/comp.json", type: Loader.ATLAS}], Handler.create(this, onLoaded));
		}
		
		private function onLoaded():void {
			
			var animation0:Animation;
			animation0 = new Animation();
			animation0.autoPlay = true;
			//通过图集参数设置数据
			animation0.source = "res/atlas/comp.json";
			animation0.pos(100, 100);
			Laya.stage.addChild(animation0);
			
			var animation1:Animation;
			animation1 = new Animation();
			animation1.autoPlay = true;
			//通过图片名设置数据
			animation1.source = "comp/btn_close.png,comp/button.png,comp/ccimage_aa.png,comp/checkbox.png";
			animation1.pos(300, 100);
			Laya.stage.addChild(animation1);
			
			var animation2:Animation;
			animation2 = new Animation();
			animation2.autoPlay = true;
			//通过动画文件设置数据
			animation2.source = "test/GAni.ani";
			animation2.pos(500, 100);
			Laya.stage.addChild(animation2);
		}
		
	}
}