Skeleton2D_BoneDisplay* Skeleton2D_BoneDisplay::createWithSpriteFrameName(const char *pszSpriteFrameName,float anchorX,float anchorY) { CCSpriteFrame *pSpriteFrame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(pszSpriteFrameName); #if COCOS2D_DEBUG > 0 char msg[256] = {0}; sprintf(msg, "Invalid spriteFrameName: %s", pszSpriteFrameName); CCAssert(pSpriteFrame != NULL, msg); #endif Skeleton2D_BoneDisplay *pobSprite = new Skeleton2D_BoneDisplay(); if (pSpriteFrame && pobSprite && pobSprite->initWithSpriteFrame(pSpriteFrame)) { pobSprite->setFlipY(true); pobSprite->autorelease(); CCPoint poffset(anchorX,anchorY); CCSize psize=pSpriteFrame->getOriginalSize(); float _anchorPointX = poffset.x / psize.width; float _anchorPointY = (poffset.y) / psize.height; pobSprite->setAnchorPoint(ccp(_anchorPointX, _anchorPointY)); return pobSprite; } CC_SAFE_DELETE(pobSprite); return NULL; }
CCRect CCUtils::getCenterRect(const string& frameName) { CCSpriteFrame* f = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(frameName.c_str()); const CCSize& size = f->getOriginalSize(); return CCRectMake(size.width / 2, size.height / 2, 1, 1); }