LayaAir引擎中模板是一种特别的概念,表示一种数据结构,这种数据结构可以被复用。骨骼动画就使用到了模板,对于同一个动画来说,可以只创建一个动画模板,然后实例多个播放的实例,这样内存中就只有一份的动画数据,但是却可以在舞台上显示多个动画。
创建骨骼动画代码
private var sk:Skeleton;
private function showSki():void{
var t:Templet = new Templet();
t.on(Event.COMPLETE,this,onLoaded,[t]);
var url:String = "art/skin,sk";
t.loadAni(url);
}
private function onLoaded(t:Templet):void{
if(this.destoryed){
return;
}
if(sk == null || sk.url == t.url){
if(sk!=null){
sk.destoryed(true);
}
//从动画模板创建动画播放对象
sk = t.buildArmature(0);
sk.pos(100,100);
addChildAt(sk,0);
displayedInStage&&sk.play(0,false);
}
}
骨骼动画创建动画有三种方式
0:使用模板缓冲的数据,模板缓冲的数据,不允许修改 (内存开销小,计算开销小,不支持换装)
1:使用动画自己的缓冲区,每个动画都会有自己的缓