CCScale9Sprite: Added initialization of insets. Moved setting the default anchorpoint to its constructor.

This commit is contained in:
Nicolas Gramlich 2012-05-31 12:03:33 -07:00
parent fe9fb347aa
commit 8678a14b6e
1 changed files with 17 additions and 5 deletions

View File

@ -16,8 +16,12 @@
NS_CC_EXT_BEGIN NS_CC_EXT_BEGIN
CCScale9Sprite::CCScale9Sprite() CCScale9Sprite::CCScale9Sprite()
: m_insetLeft(0)
, m_insetTop(0)
, m_insetRight(0)
, m_insetBottom(0)
{ {
this->setAnchorPoint(ccp(0.5f, 0.5f));
} }
CCScale9Sprite::~CCScale9Sprite() CCScale9Sprite::~CCScale9Sprite()
@ -35,7 +39,6 @@ bool CCScale9Sprite::initWithBatchNode(CCSpriteBatchNode* batchnode, CCRect rect
if(batchnode) if(batchnode)
{ {
this->updateWithBatchNode(batchnode, rect, capInsets); this->updateWithBatchNode(batchnode, rect, capInsets);
this->setAnchorPoint(ccp(0.5f,0.5f));
} }
this->m_positionsAreDirty = true; this->m_positionsAreDirty = true;
@ -47,7 +50,9 @@ bool CCScale9Sprite::updateWithBatchNode(CCSpriteBatchNode* batchnode, CCRect re
// Release old sprites // Release old sprites
this->removeAllChildrenWithCleanup(true); this->removeAllChildrenWithCleanup(true);
if(this->topLeft) // TODO Is this needed?
/*
if(this->topLeft != NULL)
{ {
CC_SAFE_RELEASE(this->topLeft); CC_SAFE_RELEASE(this->topLeft);
CC_SAFE_RELEASE(this->top); CC_SAFE_RELEASE(this->top);
@ -59,10 +64,17 @@ bool CCScale9Sprite::updateWithBatchNode(CCSpriteBatchNode* batchnode, CCRect re
CC_SAFE_RELEASE(this->bottom); CC_SAFE_RELEASE(this->bottom);
CC_SAFE_RELEASE(this->bottomRight); CC_SAFE_RELEASE(this->bottomRight);
} }
*/
if(this->scale9Image != batchnode) if(this->scale9Image != batchnode)
{
// TODO Is this needed?
/*
if(this->scale9Image != NULL)
{ {
CC_SAFE_RELEASE(this->scale9Image); CC_SAFE_RELEASE(this->scale9Image);
}
*/
scale9Image = batchnode; // TODO No retain on purpose? scale9Image = batchnode; // TODO No retain on purpose?
} }
@ -109,7 +121,7 @@ bool CCScale9Sprite::updateWithBatchNode(CCSpriteBatchNode* batchnode, CCRect re
// Centre // Centre
centre = CCSprite::spriteWithTexture(scale9Image->getTexture(), m_capInsetsInternal); centre = CCSprite::spriteWithTexture(scale9Image->getTexture(), m_capInsetsInternal);
scale9Image->addChild(centre ,0 ,pCentre); scale9Image->addChild(centre, 0, pCentre);
// Top // Top
top = CCSprite::spriteWithTexture(scale9Image->getTexture(), CCRectMake(m_capInsetsInternal.origin.x, top = CCSprite::spriteWithTexture(scale9Image->getTexture(), CCRectMake(m_capInsetsInternal.origin.x,