骨骼動畫換裝的例項

2021-06-22 07:29:35 字數 1505 閱讀 5699



骨骼動畫換裝的例項轉乙個骨骼動畫換裝的例項你參考一下。

一、我們直接在cocos2d-x自帶的hellocpp的工程中新增**即可.我們在初始化中新增如下**:

[cpp]  

ccsize szwin = ccdirector::shareddirector()->getvisiblesize();  

ccarmaturedatamanager::sharedarmaturedatamanager()->addarmaturefileinfo("knight.png","knight.plist","knight.xml");//載入骨骼動畫檔案  

ccarmaturedatamanager::sharedarmaturedatamanager()->addarmaturefileinfo("weapon.png","weapon.plist","weapon.xml");//載入骨骼動畫檔案  

settouchenabled(true);//開啟觸屏響應  

parmature = ccarmature::create("knight_f/knight");  

parmature->setposition(ccp(szwin.width/2-100,szwin.height/2));  

parmature->setscale(1.5f);  

this->addchild(parmature);  

std::string sweaponname = ;  

ccspritedisplaydata sprdisplaydata;  

for (int i=0;igetbone("weapon")->adddisplay(&sprdisplaydata,i);  

}  二、由於我們用到了cocos2d-x中extensions中的類,故需要加入對應的目錄和相應的標頭檔案以及lib檔案

①、在 工程->屬性->配置屬性->vc++目錄->包含目錄中新增extensions資料夾的路徑:$(solutiondir)\extensions

②、新增標頭檔案、命名空間以及涉及的庫檔案如下:

[cpp]  

#include "ccarmature/utils/ccarmaturedatamanager.h"  

#include "ccarmature/ccarmature.h"  

#pragma  comment(lib,"libbox2d.lib")  

#pragma  comment(lib,"libextensions.lib")  

using namespace extension;  

三、註冊觸屏分配器

[cpp] 

void testusemutiplepicture::registerwithtouchdispatcher()  

三、響應觸屏事件以實現換裝.**如下:

[cpp] 

bool helloworld::cctouchbegan(cctouch *ptouch, ccevent *pevent)  

骨骼動畫換裝

之前看過好多有關骨骼動畫換裝的文章,雖然給予很大幫助,然而自己也是費了很大勁,最終也是自己解決了問題,我把自己的解決方式分享出來,希望對你有所幫助 void changearmaturebone cocostudio armature armature const char bonename coc...

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

layaair可以是用dragonbone和spine生成的骨骼動畫檔案,但是需要將他們的動畫檔案進行轉化,轉化後的檔案才能夠被layaair識別.而無論是dragonbone還是spine都不是layaair官方工具,轉化的安全和相容性有些問題,這是乙個坑.到目前為止此轉化有2個問題 對版本的支援...

骨骼動畫公式

本節你將回顧一些骨骼動畫用到的概念和數學公式。乙個骨骼動畫是由許多關鍵幀組成的,每個關鍵幀儲存了乙個bone的配置 朝向和位置 和bone對應的時間。在每個時間間隔,你使用乙個或多個關鍵幀改變bone的配置。圖11 7展示了一張如圖11 3中的骨骼的動畫,當left shoulder bone的朝向...