fgui 怎么将"UI空间下的世界坐标"转换成"fgui空间下的世界坐标( global pos )" cocoscreator坐标转换

发布时间 2023-11-13 09:51:02作者: bakabird1998

嗨~ 如果本文对你有帮助,点个推荐吧!这样能让文章在搜索中更靠前,帮助到更多有需要的人!

首先通过坐标系转换一步步地进行计算我尝试过,但卡在了将 屏幕坐标转换为fgui空间的全局坐标上。
但发现了一个巧妙的做法。

// 随便的一个 Cocoscreator 的 Node
var anyCCUINode = this._label;
// 随便的一个 Cocoscreator 的 UI空间世界坐标
var ccUIWorldPosition = anyCCUINode.worldPosition
// 使用任意一个 Fgui GObject
var anyGObject = this._posFinder;

// 设置~
anyGObject.node.setWorldPosition(ccUIWorldPosition);
// 获取~
var fguiGlobalPostion = anyGobject.localToGlobal(0, 0)

如有错误欢迎在评论区指正!

下面是一个小知识

image
(代码下面的 黑底白字的小框框 是代码运行结果。)

GObject 的 node(cc) 的坐标发生变换时,GObject 的坐标不会立即更新,但 localToGlobal 的计算结果会符合当前坐标。