溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

COCOS CREATOR(TS)相對(duì)坐標(biāo)轉(zhuǎn)世界坐標(biāo)

發(fā)布時(shí)間:2020-07-06 08:02:06 來源:網(wǎng)絡(luò) 閱讀:1335 作者:Aonaufly 欄目:開發(fā)技術(shù)

一 : 前言

這幾天在Game中遇到這幾個(gè)需求 , 發(fā)送訂單后玩家的金幣需要增加,這個(gè)時(shí)候需要做一個(gè)飛金幣的效果.如下圖所示:
COCOS CREATOR(TS)相對(duì)坐標(biāo)轉(zhuǎn)世界坐標(biāo)

二 : 問題

很明顯按鈕的父容器和金幣信息所在的父容器不是同一個(gè)父容器.但是金幣移動(dòng)的路徑需要在同一個(gè)坐標(biāo)系之中.

三 : 解決思路

將按鈕和金幣的相對(duì)坐標(biāo)轉(zhuǎn)成世界坐標(biāo),飄金幣的效果在世界"Canvas"中播放

四 : 具體解決:

① , 獲取當(dāng)前Canvas

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

② , 獲取路徑終點(diǎn)坐標(biāo)
1`$targetNode 既是幾筆對(duì)象

2`無論$targetNode的錨點(diǎn)在哪 , 坐標(biāo)轉(zhuǎn)換都是以其左下為原點(diǎn)的.這個(gè)和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);
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI