CCBSkeletonAnimationLoader.cpp 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // CCBSkeletonAnimationLoader.cpp
  3. // cocos2d_libs
  4. //
  5. // Created by zhuangyou on 2020/4/2.
  6. //
  7. #include "CCBSkeletonAnimationLoader.hpp"
  8. using namespace cocos2d;
  9. #define PROPERTY_FLIP "flip"
  10. #define PROPERTY_DISPLAYFRAME "displayFrame"
  11. #define PROPERTY_COLOR "color"
  12. #define PROPERTY_OPACITY "opacity"
  13. #define PROPERTY_BLENDFUNC "blendFunc"
  14. namespace cocosbuilder {
  15. void SpriteLoader::onHandlePropTypeSpriteFrame(Node * pNode, Node * pParent, const char * pPropertyName, SpriteFrame * pSpriteFrame, CCBReader * ccbReader) {
  16. if(strcmp(pPropertyName, PROPERTY_DISPLAYFRAME) == 0) {
  17. if(pSpriteFrame != nullptr) {
  18. ((Sprite *)pNode)->setSpriteFrame(pSpriteFrame);
  19. } else {
  20. CCLOG("ERROR: SpriteFrame nullptr");
  21. }
  22. } else {
  23. NodeLoader::onHandlePropTypeSpriteFrame(pNode, pParent, pPropertyName, pSpriteFrame, ccbReader);
  24. }
  25. }
  26. void SpriteLoader::onHandlePropTypeFlip(Node * pNode, Node * pParent, const char * pPropertyName, bool * pFlip, CCBReader * ccbReader) {
  27. if(strcmp(pPropertyName, PROPERTY_FLIP) == 0) {
  28. ((Sprite *)pNode)->setFlippedX(pFlip[0]);
  29. ((Sprite *)pNode)->setFlippedY(pFlip[1]);
  30. } else {
  31. NodeLoader::onHandlePropTypeFlip(pNode, pParent, pPropertyName, pFlip, ccbReader);
  32. }
  33. }
  34. void SpriteLoader::onHandlePropTypeColor3(Node * pNode, Node * pParent, const char * pPropertyName, Color3B pColor3B, CCBReader * ccbReader) {
  35. if(strcmp(pPropertyName, PROPERTY_COLOR) == 0) {
  36. ((Sprite *)pNode)->setColor(pColor3B);
  37. } else {
  38. NodeLoader::onHandlePropTypeColor3(pNode, pParent, pPropertyName, pColor3B, ccbReader);
  39. }
  40. }
  41. void SpriteLoader::onHandlePropTypeByte(Node * pNode, Node * pParent, const char * pPropertyName, unsigned char pByte, CCBReader * ccbReader) {
  42. if(strcmp(pPropertyName, PROPERTY_OPACITY) == 0) {
  43. ((Sprite *)pNode)->setOpacity(pByte);
  44. } else {
  45. NodeLoader::onHandlePropTypeByte(pNode, pParent, pPropertyName, pByte, ccbReader);
  46. }
  47. }
  48. void SpriteLoader::onHandlePropTypeBlendFunc(Node * pNode, Node * pParent, const char * pPropertyName, BlendFunc pBlendFunc, CCBReader * ccbReader) {
  49. if(strcmp(pPropertyName, PROPERTY_BLENDFUNC) == 0) {
  50. ((Sprite *)pNode)->setBlendFunc(pBlendFunc);
  51. } else {
  52. NodeLoader::onHandlePropTypeBlendFunc(pNode, pParent, pPropertyName, pBlendFunc, ccbReader);
  53. }
  54. }
  55. }