1. 程式人生 > >cocos2d-x getVisibleSize、getContentSize、getWinSize函式

cocos2d-x getVisibleSize、getContentSize、getWinSize函式

在cocos2d-x裡CCNode物件有縮放的方法setScaleX和setScaleY。所以在獲取物件大小的時候必須根據情況明確指定獲取物件原始大小,還是縮放後的大小。

cocos2d::Size size1 = cocos2d::CCDirector::getInstance()->getWinSize();
float scaleX=size1.width/768;
float scaleY=size1.height/1024;

Sprite *sp1=Sprite::create("01.png");
    sp1->setScaleX(scaleX);
    sp1->
setScaleY(scaleY); this->addChild(sp1);

getVisibleSize:獲得可視區域的大小,若是DesignResolutionSize跟螢幕尺寸一樣大,則getVisibleSize便是getWinSize。

getVisibleOrigin:獲得可視區域的出發點座標,在處理相對位置時,確保節點在不同解析度下的位置一致。

getContentSize函式來獲得節點原始的大小。只是邏輯尺寸,不是畫素
假如使用一張圖建立了一個精靈,圖片的大小120*120,縮放先後通過getContentSize獲取的大小不變,
在精靈進行縮放後,你的精靈圖片變化了,這時候你見到的是可見的visibleSize,而getContentSize,是獲取它實際的圖片

getContentSizeInPixels獲得的是畫素點大小
P.S.畫素點和邏輯點關係:邏輯點大小 = 畫素大小/contentScaleFactor.
//畫素:影象由一個個點組成,這個點叫做畫素