creator3.0中mousedown获取的屏幕坐标如何转换为世界坐标?

如题,监听鼠标点击事件拿到的是屏幕的坐标,3.0之前可以通过 convertToWorldSpaceAR去拿到世界坐标,3.0之后要怎么转换?有API么?还是说真得自己去实现? :sweat_smile:

1赞

如果只是获取屏幕UI区域的世界坐标的话,可以考虑得到UI根节点的屏幕坐标,根据两屏幕坐标计算偏移,再通过UI根节点的世界坐标计算得到点击位置的世界坐标。

:sweat_smile:这么说是没有直接可以转的API了?3.0之后是需要自己手动去转的对吧? 感谢

也许可以参考这个:convertToNodeSpaceAR不同屏幕结果不同

谢谢,但是这个是3.0以下版本的api了 在3.0版本没有这个api了 :sob:

有版本对应的api,官网api可查到
Camera类中的方法: worldToScreen, screenToWorld,此外也许还能用到别的

这我也试过了 害 文档api看了不少 就是没找到能用的

就我目前的经验来说,是需要自己转的。

哦哦 感谢,我最后也是自己转了 :grinning:我本以为人家造好轮子了 我不想重复造轮子,所以一直翻各个api文档 目前是没找到, 既然没找到的话 还是自己造一个吧

1赞

碰到的同样的问题,请问楼主最后是怎么解决的嘞?

可以用 camera.screenToWorld(point, out) 将屏幕坐标转成世界坐标

UITransform不是有 convertToWorldSpaceAR这个api么
https://docs.cocos.com/creator/api/zh/#/docs/3.2/zh/ui/Class/UITransform?id=converttoworldspacear

对,用UITransform的convertToWorldSpaceAR可以转世界坐标

2赞

还是这个问题, :joy: