关于坐标疑惑救助

我在屏幕中心放了一个sprite,坐标是0,0。运行后,我用鼠标点击中心,得到鼠标的坐标,并且通过screenToWorld转成了世界坐标,为什么这个坐标并不是0,0,而是以屏幕左下角为坐标轴的坐标,怎么才能得到以屏幕中心为坐标轴的坐标呢?

小白求助

/** 通过世界坐标 获取相对节点的坐标 */

getToNodePosForWorld(worldPos: cc.Vec2, obj: cc.Node) {

    return obj.convertToNodeSpaceAR(worldPos);

}

你好啊,我的这个sprite的外层节点是Canvas,套用这个函数,就是把obj替换为Canvas的node是吧?

可以试试这样

因为世界坐标就是按照左下角计算的,你的图片坐标0,0应该是你创建了一个节点在中心 下面放了一张图片,按照上面这个老哥的这个函数 第二个参数填你那个图片父节点就能得到相对坐标

好的,谢谢,有个问题想请教下,开发中,都是按照世界坐标系来计算各种数据,还是按照节点内坐标系来计算,哪种方便呢?

都会用到 没有硬性规定 看需求的