寫(xiě)在前面——

如果轉(zhuǎn)載請(qǐng)注明出處,謝謝大家支持
同步更新51CTO博客
——Forward
我的微博——龍顏碩
錨點(diǎn)概念
由于我們?cè)谑褂肅ocos2dx進(jìn)行開(kāi)發(fā)時(shí),一般都是在場(chǎng)景中加載精靈來(lái)實(shí)現(xiàn)的,而精靈上掛載的往往都不是一個(gè)點(diǎn)而是一張圖片資源,那么我們?cè)趫?chǎng)景中設(shè)置這個(gè)精靈的位置時(shí),對(duì)這張資源圖片來(lái)說(shuō)是應(yīng)該把這張圖片資源中的哪個(gè)點(diǎn)與我們?cè)O(shè)置的點(diǎn)對(duì)齊呢?這里就引出了錨點(diǎn)這個(gè)概念,我們通過(guò)設(shè)置錨點(diǎn)來(lái)確定資源圖片上哪個(gè)點(diǎn)與我們?cè)O(shè)置位置點(diǎn)對(duì)齊。簡(jiǎn)而言之,錨點(diǎn)確定精靈自己在父節(jié)點(diǎn)的加載位置。
幾何圖形說(shuō)明
上面的文字描述可能不太容易理解,下面作者發(fā)揚(yáng)嚴(yán)謹(jǐn)?shù)目蒲酗L(fēng)格,繪圖做以下說(shuō)明:
假設(shè)我們要把一個(gè)精靈加載到場(chǎng)景中去,這個(gè)精靈上使用的圖片資源是一張四邊形圖片,如下圖所示

圖1
OK,當(dāng)我們使用Cocos2dx下對(duì)應(yīng)的API要給這個(gè)精靈設(shè)置一個(gè)特定的位置時(shí),設(shè)置的結(jié)果是什么樣的呢?這就與我們給定這個(gè)精靈的錨點(diǎn)有關(guān),設(shè)置不同的錨點(diǎn),加載結(jié)果也會(huì)不同。錨點(diǎn)的設(shè)置可以根據(jù)你的喜好隨意設(shè)置,但是一般來(lái)說(shuō)常用的錨點(diǎn)有哪些呢?如下圖紅色圈所表示的——左下角、左上角、右上角、右下角,在Cocos2dx中默認(rèn)使用的錨點(diǎn)坐標(biāo)是四邊形的幾何中心點(diǎn)。

圖2
在Cocos2dx中,我們可以使用setAnchorPoint這個(gè)接口來(lái)設(shè)置錨點(diǎn),參數(shù)是一個(gè)cocos2d::CCPoint類(lèi)型,這個(gè)點(diǎn)是(0.0f,0.0f)~(1.0f,1.0f)之間的一個(gè)值。
錨點(diǎn)Demo演示
我們?cè)谙旅孢@個(gè)場(chǎng)景中來(lái)做測(cè)試,首先如下圖所示,我們?cè)谶@個(gè)場(chǎng)景中添加一個(gè)精靈A作為背景精靈:
加載代碼:
//添加背景資源
cocos2d::CCSprite* pBg = cocos2d::CCSprite::create("wndbg.png");
CC_BREAK_IF( !pBg );
pBg->setPosition(ccp(300.0f,300.0f));
this->addChild(pBg);
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱(chēng):Cocos2dx開(kāi)發(fā)之錨點(diǎn)實(shí)例講解-創(chuàng)新互聯(lián)
文章URL:http://www.chinadenli.net/article32/dchcsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站改版、ChatGPT、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
全網(wǎng)營(yíng)銷(xiāo)推廣知識(shí)