cocos2d-x 3.2锚点,Point,addchild,getcontensize

时间:2022-12-02 00:39:57

一,锚点

打个比方。在墙挂一幅画时,要钉一个钉子,那个钉子就是锚点。

然后挂图时,钉子(锚点)放在要订的位置(position),订下去。完成(贴图结束)。

贴图的基本点,锚点默认为(0.5,0.5),也就是图片的中心。锚点(1,1)就是图片的右上角(1为单位)。

cocos2d-x 3.2锚点,Point,addchild,getcontensize

cocos2d-x 3.2锚点,Point,addchild,getcontensize

cocos2d-x 3.2锚点,Point,addchild,getcontensize锚点设在图片左下角,再往左半个长,往下半个宽

cocos2d-x 3.2锚点,Point,addchild,getcontensize

二、Point

在VS里转到定义

cocos2d-x 3.2锚点,Point,addchild,getcontensize

可以看到Point等价于Vec2,就是一个坐标点。比如(100,100)为Point(100,100),也是Vec2(100,100)

三、addchild

分析下列三个重载

cocos2d-x 3.2锚点,Point,addchild,getcontensizecocos2d-x 3.2锚点,Point,addchild,getcontensizecocos2d-x 3.2锚点,Point,addchild,getcontensize

addChild()有三个参数:

1、要加入场景的对象的指针,(可以是Sprite*,Layer*,Node*等类型)

2、绘制层的顺序,默认参数值为0,表示最高优先层导入,该值越大表示该层在最后加载(在最高一层),
一般背景图层是首先加载,其他元素在加载在背景层上面。因为背景在后面加载的话,会覆盖掉前面
加载的元素,看不到想要的图层组合效果。

3、Tag标记。赋予类的某个方法中定义的局部变量(CCNode*类型对象,CCSprite*对象等)一个标记号ta
g,如果以后在该类的其他方法中要访问这个变量时可以通过调用函数getChildByTag来取回该对象,从而
方便使用这个对象进行想要的操作。这样做的好处是:定义成类的成员变量会一直占用内存资源,而局部
变量的生命周期比成员变量短,节省系统资源,而且在外面就可以通过函数getChildByTagtag号来获取这
个对象。

代码实例:

CCSprite *sp1 = (CCSprite*)this->getChildByTag(tag),然后可以再下面的代码中对该精灵对象进行访问 加动作等等。

四、getContentSize()

getContentSize很容易理解,就是获取到当前物体的大小,但是要注意是本身大小,无论是是缩放还是缩小了,其获取的还是它原来的本身大小。所以放到后还是打印出100*100大小

getVisibleSize:获得视口(可视区域)的大小