Cocos|CocosCreator-添加widget组件后获取节点位置

今天犯了一个很弱智的问题,我决定记录下来。问题描述:我在做新手引导的时候,获取玩家界面上的ui节点在不同的适配下的坐标是一样的,在不同适配的屏幕下,节点的实际位置一看就和原来不一样,但是打印出来的坐标却仍然一样,这个问题出在哪里?其实是这个节点挂了widget组件啊。刚开始我没想到为什么,觉得挺不可思议的,后来一看这个节点,原来是挂了widget。如果不太清楚的小伙伴继续往下看,虽然widget在cocos中做适配用的,但是文档下面可是有说哦,看图:Cocos|CocosCreator-添加widget组件后获取节点位置
文章图片

知道了吧,加了widget的会对节点的位置和尺寸都有限制,那加了widget后又想获取当前节点在不同适配屏幕下的实际位置怎么办呢?请使用widget下的updateAlignment(),也就是对widget进行立即对齐,对齐后我们在获取位置就可以了,比如:

//获取到节点下的widget后调用updateAlignment() widget.updateAlignment(); //打印对齐后节点的位置 cc.log(widget.node.y);

【Cocos|CocosCreator-添加widget组件后获取节点位置】如果有什么问题,还是请去看文档widget这部分,去看文档你会发现更多新的东西,同样其实这也是我的一个坏习惯就是太依赖文档了,很多常用的api都不怎么记,很多时候就是用到了,我就去看文档,这样同样也会使我的工作效率比平时的低一些,因为有一部分时间在看文档,如果在捎带这看看api的源码,那就不多提了,所以这个弱智的问题就发生在我身上了,以后我得改改这个毛病了,如果有和我差不多这个情况的朋友也希望早点意识到这个问题。

    推荐阅读