1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- //
- // SkeletonAnimationLoader.cpp
- // cocos2d_libs
- //
- // Created by zhuangyou on 2020/4/2.
- //
- #include "CCSkeletonAnimationLoader.h"
- using namespace cocos2d;
- #define PROPERTY_DATAFILE "dataFile"
- #define PROPERTY_ATLASFILE "atlasFile"
- #define PROPERTY_SKELFRAME "frame"
- #define PROPERTY_AUTOPLAY "autoPlay"
- #define PROPERTY_DEBUG_BONES "debugBones"
- #define PROPERTY_DEBUG_SLOTS "debugSlots"
- #define PROPERTY_DEBUG_BOUNDING_RECT "debugBoundingRect"
- namespace redream {
- void SkeletonAnimationLoader::onHandlePropTypeSpineSkel(Node * pNode, Node * pParent, const char * pPropertyName, const char* pSkel, REDReader * ccbReader) {
- if(strcmp(pPropertyName, PROPERTY_DATAFILE) == 0) {
- if(pSkel != nullptr) {
- spine::SkeletonAnimation* skeNode = ((spine::SkeletonAnimation*)pNode);
- skeNode->setDataFile(pSkel);
- } else {
- CCLOG("ERROR: pSkel nullptr");
- }
- } else {
- NodeLoader::onHandlePropTypeSpineSkel(pNode, pParent, pPropertyName, pSkel, ccbReader);
- }
- }
- void SkeletonAnimationLoader::onHandlePropTypeSpineAtlas(Node * pNode, Node * pParent, const char * pPropertyName, const char* pAtlas, REDReader * ccbReader) {
- if(strcmp(pPropertyName, PROPERTY_ATLASFILE) == 0) {
- if(pAtlas != nullptr) {
- spine::SkeletonAnimation* skeNode = ((spine::SkeletonAnimation*)pNode);
- skeNode->setAtlasFile(pAtlas);
- } else {
- CCLOG("ERROR: pAtlas nullptr");
- }
- } else {
- NodeLoader::onHandlePropTypeSpineAtlas(pNode, pParent, pPropertyName, pAtlas, ccbReader);
- }
- }
- void SkeletonAnimationLoader::onHandlePropTypeSkelFrame(Node * pNode, Node * pParent, const char * pPropertyName, spine::SkeletonFrame pFrame, REDReader * ccbReader) {
- if(strcmp(pPropertyName, PROPERTY_SKELFRAME) == 0) {
- // 动画初始化只会是空节点,不播放动画,所有的动画都在关键帧处理
- // ((spine::SkeletonAnimation*)pNode)->setEmptyAnimations(0); // TODO
- // ((spine::SkeletonAnimation*)pNode)->update(0);if (!(.empty()) {
- } else {
- NodeLoader::onHandlePropTypeSkelFrame(pNode, pParent, pPropertyName, pFrame, ccbReader);
- }
- }
- void SkeletonAnimationLoader::onHandlePropTypeCheck(Node * pNode, Node * pParent, const char * pPropertyName, bool pCheck, REDReader * ccbReader) {
- if(strcmp(pPropertyName, PROPERTY_AUTOPLAY) == 0
- || strcmp(pPropertyName, PROPERTY_DEBUG_BONES) == 0
- || strcmp(pPropertyName, PROPERTY_DEBUG_SLOTS) == 0
- || strcmp(pPropertyName, PROPERTY_DEBUG_BOUNDING_RECT) == 0
- ) {
- // 有很多属性不需要使用在这个地方处理一下
- }else {
- NodeLoader::onHandlePropTypeCheck(pNode, pParent, pPropertyName, pCheck, ccbReader);
- }
- }
- }
|