cocos2d-x中的坐标系

1.屏幕坐标系,也叫uikit.原点在左上。

最关键的是触摸事件得到的是屏幕坐标系

 

2.OpenGL坐标系

坐标系的原点在左下

 

3.屏幕坐标系和OpenGl坐标系的转换

    //UIKit To OpenGL 

  • CCPoint convertToGL(const CCPoint& obPoint);
  • //OpenGL To UIKit 
  • CCPoint convertToUI(const CCPoint& obPoint); 

    4.绝对坐标系和相对坐标系之间的转换

    CCSprite* big=CCSprite::create("big.png"); 

  • big->setAnchorPoint(ccp(0,0));
  • big->setPosition(ccp(50,50));//设置在相对父节点的(50,50)位置 
  • this->addChild(big);//屏幕是父节点 

     

         CCSprite*little=CCSprite::create(little.png");

         little->setAnchorPoint(ccp(0,0));

         little-setPosition(ccp(50,50));

        big->addChild(little);               //相对父节点的50,50,可是此时的父节点为大图

    5.假设想要获得big和little的绝对坐标

    CCPoint wp1=this->convertToWorldSpace(big->getPosition());

    CCPoint wp2=big->convertToWorldSpace(little->getPosition());//wp2(100,100) 

    6.绝对坐标系转换为相对坐标系

    CCPoint pos=big->convertToNodeSpace(ccp(200,200));

    CCPoint np2=little->convertToNodeSpace(ccp(200,200));//np2(100,100)

     

     

  • posted @ 2017-05-07 09:10  clnchanpin  阅读(141)  评论(0编辑  收藏  举报