getXXXPos()约定
class CmyNode:public CCNode{
public:
CmyNode(){
m_XXX=NULL;
}
virtual~CmyNode(){
}
bool init(){
m_XXX=CCSprite::create("xxx.png");
addChild(m_XXX);
m_XXX->setPosition(ccp(x,y));
return true;
}
CCPoint getXXXPos(){
CCPoint pos=CCPointApplyAffineTransform(m_XXX->getPosition(), this->nodeToParentTransform());
return pos;
}
CCPoint getXXXPosInWorldSpace(){
CCPoint pos=this->convertToWorldSpace(m_XXX->getPosition());
return pos;
}
protected:
CCSprite* m_XXX;
};
我想说的是,getXXXPos()不用写成getXXXPosInParentSpace(),因为正常人类都知道getXXXPos()恒等价于getXXXPosInParentSpace()。同理,如果以后看到别人的代码,凡出现getXXXPos(),只要写这个代码的人是正常人类,不用看getXXXPos()的内部实现,你也应该知道getXXXPos()就是getXXXPosInParentSpace()的意思。
以上关于getXXXPos()的约定不仅限于cocos2dx,适用于任何正常人类写的引擎。