如何获取点击的点在节点上的位置

各位大佬,问一个问题,我有一个大图(2000*2000)当作一个小地图,
然后小地图节点下,有一个 子 节点,飞船,
我给这个地图添加一个点击事件,获取点击的位置,然后让小飞船tween过去

event.getUILocation

但是这个获取的节点位置不对,我想获得点的点在地图上的位置

我想知道应该怎样做,

飞船,在地图节点下,飞船的坐标是相对于地图的

event.getUILocation 获取的是不是世界坐标系,把这个点转成地图节点的相对坐标系就好了。

import {
    EventTouch,
    Node,
    UITransform,
    v3,
    log,
} from 'cc';

// 这是地图节点的 touch-end 触摸回调
function onTouchEnd(touch: EventTouch) {
    const touchPos = touch.getUILocation();

    const map: Node = touch.target as Node;
    const transform = map.parent.getComponent(UITransform);
    const posInMap = transform.convertToNodeSpaceAR(v3(touchPos.x, touchPos.y));

    log('地图上点击的坐标: ', posInMap.x, posInMap.y);
}
1赞