COCOS CREATOR(TS)相对坐标转世界坐标
更新:HHH   时间:2023-1-7


一 : 前言

这几天在Game中遇到这几个需求 , 发送订单后玩家的金币需要增加,这个时候需要做一个飞金币的效果.如下图所示:

二 : 问题

很明显按钮的父容器和金币信息所在的父容器不是同一个父容器.但是金币移动的路径需要在同一个坐标系之中.

三 : 解决思路

将按钮和金币的相对坐标转成世界坐标,飘金币的效果在世界"Canvas"中播放

四 : 具体解决:

① , 获取当前Canvas

let $parent : cc.Node = cc.find("Canvas");

② , 获取路径终点坐标
1`$targetNode 既是几笔对象

2`无论$targetNode的锚点在哪 , 坐标转换都是以其左下为原点的.这个和Egret一样.

$end_pos = $targetNode.convertToWorldSpace( new cc.Vec2( $targetNode.width / 2 , $targetNode.height / 2 ) );
$end_pos.x -= ($parent.width / 2);
$end_pos.y -= ($parent.height / 2);
返回开发技术教程...