laya龍骨換裝 LayaAir之骨骼動畫 基礎

2021-10-17 06:13:03 字數 2117 閱讀 9932

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....