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,适用于任何正常人类写的引擎。

原文地址:https://www.cnblogs.com/wantnon/p/4325782.html