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);
Framesize:是实际的屏幕分辨率

Winsize:逻辑上的游戏分辨率。开发者设计的

.

getVisibleSize:获得可视区域的大小,若是DesignResolutionSize跟屏幕尺寸一样大,则getVisibleSize便是getWinSize。

.

getVisibleOrigin:获得可视区域的出发点坐标,在处理相对位置时,确保节点在不同分辨率下的位置一致。

.

getContentSize函数来获得节点原始的大小。只是逻辑尺寸,不是像素 
假如使用一张图创建了一个精灵,图片的大小120*120,缩放先后通过getContentSize获取的大小不变, 
在精灵进行缩放后,你的精灵图片变化了,这时候你见到的是可见的visibleSize,而getContentSize,是获取它实际的图片
getContentSizeInPixels获得的是像素点大小 。

.

P.S.像素点和逻辑点关系:逻辑点大小 = 像素大小/contentScaleFactor. 
     像素:图像由一个个点组成,这个点叫做像素

猜你喜欢

转载自blog.csdn.net/lihao161530340/article/details/80202666
今日推荐