layaair可以是用dragonbone和spine生成的骨骼動畫檔案,但是需要將他們的動畫檔案進行轉化,轉化後的檔案才能夠被layaair識別.而無論是dragonbone還是spine都不是layaair官方工具,轉化的安全和相容性有些問題,這是乙個坑.
到目前為止此轉化有2個問題:
①對版本的支援 , 存在遲滯性
②只支援圖集模式
無論怎麼樣 , 總算是部分支援 . 現在先以dragonbone為例講解骨骼動畫.
ⅰ, dragonbone骨骼動畫 , 以rooster_ani為例:
一 : 開始匯出dragonbone骨骼動畫檔案:
①,匯出db檔案 , 由於我的layaair , db轉換工具支援db版本範圍是 4.5~5.1.0 , 所以:
②,db匯出的骨骼檔案有三個 : ske 骨骼檔案 , tex.json 紋理檔案 , tex.png 紋理
二:使用layaair轉換dragonbone骨骼動畫格式
①,開啟龍骨匯出工具 , 進行匯出(注意,原始檔:dragonbone資料夾上;layaair轉換的資料夾下)
②,將匯出的檔案(2個),匯入到專案中,注意放在bin中:
三:**
①,基本核心
private rooster_dragonbone : laya.skeleton = null;
//顯示dragonbone骨骼動畫
this.initdragonani( true , "rooster_eat_anim");
* 初始化dragonbone骨骼動畫
* @param $name 動畫的名稱
private initdragonani( $autoplay : boolean , $name : string ) : voidelseelseelse $name 動畫的名稱
private initdragonani( $autoplay : boolean , $name : string ) : voidelseelse{
this.rooster_dragonbone.player.off( laya.event.complete , this , this.ondragonbonehandler );
this.rooster_father_dragonbone.off( laya.event.mouse_down , this , this.ondragonbonehandler );
private ondragonbonehandler( $e : laya.event ) : void{
console.log("ok");
switch($e.type){
case laya.event.complete:
break;
case laya.event.mouse_down:
console.log(`dragonbone 動畫被單擊`);
break;
private showdragonani( $name : string ) : void{
if( this.rooster_dragonbone && $name){
this.rooster_dragonbone.play( $name , true );
顯示:
控制台列印:
layabox 龍骨動畫
layabox 使用龍骨動畫的時候雜七雜八的事情很多 資源未載入完 崩潰 龍骨動畫新增幀動畫報錯等等 failed to load resource net err file not found file g program 20191112 bin res spine undefined 自己封裝...
棗核型龍骨船
棗核型龍骨船 下面介紹一種外形酷似棗核的船舶。這種船體甲板外緣的前部是頂角為40度高為250cm的銳角三角形,在這個三角形後面是斜邊和上邊夾角為22度的高為500cm的等腰梯形,這個梯形的後邊是長為1200cm寬位586.01cm的矩形,在這個矩形的後面是斜邊和頂邊夾角為50度高為372.78cm的...
LAYA 骨骼動畫
建立骨骼動畫 private var sk skeleton private function showski void private function onloaded t templet void if sk null sk.url t.url sk t.buildarmature 0 sk....