cocos对于touch坐标和node坐标理解
Touch(屏幕坐标非游戏坐标)
getLocation x轴为相对设计尺寸左下角距离
getLocationInView x轴为相对视窗左侧距离,y轴为相对视窗中心距离
getUILocation 游戏中相对左下角xy距离的坐标(若屏幕无缩放则与getLocation)无差异
Node:
getLocation为相对锚点坐标
getWorldPosition为锚点相对左下角坐标
console.log("设计尺寸左下(不被缩放影响):" + event.getLocation());
console.log("设计尺寸左上(被缩放影响):" + event.getLocationInView());
console.log("渲染视图左下(被缩放影响):" + event.getUILocation());
console.log("节点世界坐标:" + this.node.parent.getWorldPosition());
console.log("节点坐标:" + this.node.parent.getPosition());
this.body.on(NodeEventType.TOUCH_START, (event: EventTouch) => {
console.log("getLocation:" + event.getLocation());
console.log("getLocationInView" + event.getLocationInView());
let node: Node = event.target
console.log("Node getLocation:" + node.getPosition());
console.log("Node getWorldPosition" + node.getWorldPosition());
}
// 输出
getLocation:(940.00, 604.00)
getLocationInView(940.00, 730.00)
Node getLocation:(0.00, 0.00, 0.00)
Node getWorldPosition(477.33, 329.55, 0.00)
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。