各位大佬,问一个问题,我有一个大图(2000*2000)当作一个小地图,
然后小地图节点下,有一个 子 节点,飞船,
我给这个地图添加一个点击事件,获取点击的位置,然后让小飞船tween过去
event.getUILocation
但是这个获取的节点位置不对,我想获得点的点在地图上的位置
我想知道应该怎样做,
飞船,在地图节点下,飞船的坐标是相对于地图的
各位大佬,问一个问题,我有一个大图(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);
}