之前看過好多有關骨骼動畫換裝的文章,雖然給予很大幫助,然而自己也是費了很大勁,最終也是自己解決了問題,我把自己的解決方式分享出來,希望對你有所幫助:
void
changearmaturebone
(cocostudio
::armature
*armature
,const
char
*bonename
,cocos2d
::node
*node)
bone
*pbone
=armature
->
getbone
(bonename);
intcurrentindex
=pbone
->
getdisplaymanager
()->
getcurrentdisplayindex
();
decorativedisplay
*pdis
=pbone
->
getdisplaymanager
()->
getdecorativedisplaybyindex
(currentindex);
cocos2d
::node
*pdisnode
=pdis
->
getdisplay
();
node
->
setanchorpoint
(pdisnode
->
getanchorpoint
());
pbone
->
adddisplay
(node
,currentindex);
//pbone->changedisplaywithindex( currentindex , true ); }
要注意的是,這個是分離出來的乙個骨骼動畫換裝的方法,其中第乙個引數是你要換的骨骼動畫的原動畫,第二個引數是要換的骨骼動畫的名字,第三個引數是要替換的資源,不過要注意的第三個引數要以skin的物件的形式建立(skin是sprite的子類)。
希望對大家有用,閒下來沒事突然想吧之前的經驗拿出來分享下,勿噴。
骨骼動畫換裝的例項
骨骼動畫換裝的例項轉乙個骨骼動畫換裝的例項你參考一下。一 我們直接在cocos2d x自帶的hellocpp的工程中新增 即可.我們在初始化中新增如下 cpp ccsize szwin ccdirector shareddirector getvisiblesize ccarmaturedatama...
laya龍骨換裝 LayaAir之骨骼動畫 基礎
layaair可以是用dragonbone和spine生成的骨骼動畫檔案,但是需要將他們的動畫檔案進行轉化,轉化後的檔案才能夠被layaair識別.而無論是dragonbone還是spine都不是layaair官方工具,轉化的安全和相容性有些問題,這是乙個坑.到目前為止此轉化有2個問題 對版本的支援...
骨骼動畫公式
本節你將回顧一些骨骼動畫用到的概念和數學公式。乙個骨骼動畫是由許多關鍵幀組成的,每個關鍵幀儲存了乙個bone的配置 朝向和位置 和bone對應的時間。在每個時間間隔,你使用乙個或多個關鍵幀改變bone的配置。圖11 7展示了一張如圖11 3中的骨骼的動畫,當left shoulder bone的朝向...