第一张图是playerInfNode的父级,第二张图是playerInfNode
但我在打印log信息时:
cc.log(this.playerInfoNode.y);
cc.log(this.playerInfoNode);
打印信息显示的是:

挺纳闷的
node上有Widget是把node的坐标适配到当前屏幕的相对坐标上,这并没有什么纳闷的地方呀~
我连你纳闷在哪都看不出来
cc.log(this.playerInfoNode.y);
cc.log(this.playerInfoNode);
log出来的信息不相符啊,第一个log出来是372,可是第二个log出来的详细信息里y是303.514…
node上有Widget提供适配,this.playerInfoNode的坐标会根据手机分辨率而产生改变,既然发生了改变,可为什么this.playerInfoNode.y得到的是改变前的值,log ->this.playerInfoNode时里面的y又是改变后的值了?
我不是太理解这个。。。
那是控制台的问题,第二个 log 你点击时是试试获取对象里的最新的值。
谢谢回复,真的很感谢。。。
这个东西我是写在onLoad里的,写在一起的。。。
控制台的问题不是太理解,我试过界面加载10s后再log这两条信息,log出来的是相符的,都是303,但是这样子的话我想请教一下有什么判断条件可以让我能知道获取的this.playerInfoNode.y是最新值
widght会在1帧之后执行适配,在onload中直接log坐标,会打印出适配之前的坐标,如果你想得到适配之后的坐标,用cc.schedule(func,0),在func中打印就行了
升级到 1.4.2:
onLoad () {
this.getComponent(cc.Widget).updateAlignment();
cc.log(this.playerInfoNode.y); // 就是最新值
}
用了结果ok的,应该多去看文档的!
谢谢jr老师。。。
用了你提供的思路得到了正确的结果,感谢分享^_^

