1. 程式人生 > >cocos2dx不同的座標系,錨點

cocos2dx不同的座標系,錨點

本文轉載自:http://www.cnblogs.com/qinning199/p/3313748.html

<一> 笛卡爾座標系,分為左手座標系和右手座標系,如下圖:



<二> cocos2dx開發遊戲時常用的3種座標系:

1、UI座標系

    一般用於ios/android/windows sdk中,原點(x=0, y=0)在左上角。X方向從左側向右遞增,Y方向從螢幕頂部向底部遞增。



2、Direct3D座標系

    Direct座標系用笛卡爾左手座標系。

3、OpenGL和cocos2dx座標系

    OpenGL和cocos2dx一樣用笛卡爾右手座標系,在二維世界裡,僅僅用到了X、Y軸,那麼在cocos2dx遊戲中,

原點(x=0,y=0)在螢幕左下角,X軸從螢幕左側向右延伸,Y軸從螢幕底部向上延伸,例子如下圖:


<三> 父類和子類:

   每一個繼承自CCNode的類都有一個錨點屬性,當決定如何繪製物件(Sprite、Layer以及其他的)時候,cocos2dx將會考慮位置資訊以及錨點資訊,並且當旋轉一個物體時,cocos2dx會繞著錨點旋轉。

   我們建立一個灰色的Sprite的影象作為父物件,建立一個綠色的Sprite作為子物件,設定父物件的位置ccp(100,100),錨點ccp(0,0),子物件的位置在ccp(0,0),錨點在ccp(0.5,0.5)。

    CCSprite* parent = CCSprite::create("
parent.png"); parent->setAnchorPoint(ccp(0, 0));// 錨點 parent->setPosition(ccp(100, 100)); parent->setAnchorPoint(ccp(0, 0)); addChild(parent); CCSprite* child = CCSprite::create("child.png"); child->setAnchorPoint(ccp(0.5, 0.5)); child->setPosition(ccp(0, 0)); parent
->addChild(child);//新增子精靈到父精靈中

因此得到的位置如下圖所示:

<四> 錨點

錨點被用於位置和旋轉物體。錨點是相對座標(也就是一個百分比),經常被用來對應一個物體內的點。例如,錨點是ccp(0.5,0.5)(表示x方向在物體50%的位置,y方向50%的位置)對應物體的中心。當設定物體位置的時候,呼叫setPositon時,錨點資訊也會在座標系中展示。相同的,當轉動物體,物體將會隨錨點轉動。

例如,如下精靈有一個錨點cpp(0,0)並且位置在ccp(0,0):

 

因此,精靈被放置在螢幕左下角。

    CCSprite *sprite = CCSprite::create("bottonleft.png");

    sprite->setAnchorPoint(ccp(0,0));

sprite->setPosition(ccp(0,0)); addChild(sprite);

    在如下的例子中,展示了錨點座標的相對性,錨點被賦值為ccp(0.5,0.5),位於精靈的中心。


    CCSprite *sprite = CCSprite::create("center.png");

    sprite->setAnchorPoint(ccp(0.5,0.5));

sprite->setPosition(ccp(0,0)); addChild(sprite);


    正如你所看到的的,精靈的中心位置被放置在了座標原點(0,0)。這也就是說錨點不是一個畫素值。錨點的X和Y值是相對於該節點的大小。

    你也可以設定錨點為ccp(0.3,0.3),物體左下角錨點是(0,0),右上角是(1,1),因此ccp(0.3,0.3)表示在X方向上30%位置,Y方向上30%位置。

相關推薦

cocos2dx不同座標系

本文轉載自:http://www.cnblogs.com/qinning199/p/3313748.html <一> 笛卡爾座標系,分為左手座標系和右手座標系,如下圖: <二> cocos2dx開發遊戲時常用的3種座標系: 1、UI座標系  

[windows+cocos2dx](絕對/相對)座標系、深度、

cocos2dx裡面有兩種座標系,第一個是OpenGL座標系,第二個是UIKit座標系。OpenGL座標系是以左下角為原點(0,0),UIKit(介面座標系)是以左上角為原點。初識座標系//座標系和錨點

html基礎之(章節元素章節元素超鏈接)詳細

第四天章節元素<body></body> 文檔內容 只能一個<body>元素<header></header>頭部標簽 logo 導航<main></main>網站中重要內容 一個文檔中只能有一個<main>在&

超連結跳轉到不同頁面的連結

在做前端的時候,有時會遇到這樣一種情況:要在此頁面跳轉到另一個頁面的某個地方。這種情況,就可以使用超連結和錨點連結進行調轉了。比如要從index.html頁面的某個超連結調轉到single.html頁面的底部,則此時可在single.html頁面底部新增一個錨點。然後在index.html的超連結里加上此錨點

Android問題集(二)——TextView在選時顯示不同顏色Button選效果

1、在res目錄下新建名為color資料夾; 2、在color中新建text_color.xml檔案,並選擇selector選項(如下圖): 3、在text_color.xml中填寫如下程式碼: <?xml version="1.0"

cocos2dx 座標系總結

cocos2dx 座標系系統是個非常容易引起混亂的課題,而新舊版本間函式名叫法又不太統一,在此統一記錄一下,以備以後來檢視。 (筆者當前使用的是cocos2dx 3.2版本。) 1.座標系 首先是分類,比較公認的是以下四類: A、OpenGL座標系:該座標系原點在螢幕左

不同按鈕加載不同的頁面(不使用iframe的情況下)

lis button sco oos cati 情況 main style pla <button id="button1">Load Html1</button> <button id="button2">Load Html2<

地圖放大縮小以兩指中間的

地圖放大縮小,以兩指中間的點為錨點  該程式碼使用外掛Easy Touch ,DoTween using DG.Tweening; using UnityEngine; using HedgehogTeam.EasyTouch; public class

如何新增調轉至指定段落

 本章目錄 1、先設定段落 2、在每個段落前新增,如下程式碼: 3、在目錄裡新增指定的錨點 4、總結4   如何新增錨點,調轉至指定段落 1、先設定段落 這是第一步,一定要顯示設定段落       2

連結不連結到頂部離頂部有點距離

關於利用錨點定位的一個新思路:首先,通過錨點定位,頁面都是轉到頁面相應錨點居於頂端。因此,對於需要使頁面高度不變而只是利用錨點效果的使用來說,這非常不方便。現在有一個思路,即,若想錨點距離頂端有個固定的距離,則設定該錨點所在元素的border-top/padding-top=x,margin-

相對路徑和絕對路徑

錨點              <a href="#值">文字</a>            需要跳轉到的地方打一個標記 <a name="值"></a>或            <h2 id="值">文字</

anguary建立二維陣列swiper建立返回到離開時的頁面。

     如果從資料庫中傳來了很多未知的資料,現在要把這些資料已3為分界線生成二維陣列。這個怎麼寫呢? let models = res.json().data.listRows;//後臺的資料 console.log(models)

京東樓層跳躍效果(利用跳轉至對應樓層或者使用animate函式)

html <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script> <ul class="navWrap"> <li class="current"&g

選導航滑動到網頁中的指定位置(JS實現滑動定位)

在一個網頁頁面中,可能會分為很多的模組內容,當我點選導航欄的某一項時,希望顯示對應的內容,例如,點選下圖導航中的報告服務後,希望網頁滑動到 “報告服務” 的模組,點選城市品牌滑動到“城市品牌”的模組。

微信小程式scroll-view選menu滾動到;滾動到啟用menu。

首先看看效果圖1、首先是點選選單,滾動列表,這個實現比較簡單。直接使用scroll-view 的 scroll-into-view屬性,小程式文件。<view class='container'> <!-- 選單 --> <view clas

vue中實現定位及跳轉(url不發生變化)

直接上程式碼<div class="footer" @click="returnTop"> methods:{ returnTop:function(){ document.querySelector("#header").scrollIntoVi

CSS進階(11)—— overflow屬性詳解利用CSS實現定位

  本章延續上一章BFC的內容深入探索BFC的最佳結界——overflow在其本職工作上的表現。   1.overflow的裁剪界線——border-box   overflow屬性用於指定塊容器元素的內容溢位時的表現方式——滾動,裁剪,自適應。“BFC

定位jquery定位到頁面指定位置

jquery錨點定位 $('body,html').animate({scrollTop: $('#ter1').offset().top}, 500);#ter1是你要定位的id物件,500是0.5秒執行完成 (adsbygoogle = window.adsbygoogle |

Markdown基礎(內含:使用使用HTML新頁面跳轉目錄生成)

Github樣式顯示參考:點我 之前說過用word寫文章,這次說說Markdown寫文章(推薦) 逆天推薦使用VSCode編寫 裝這個外掛寫作更方便: 內含:錨點使用,使用HTML,新頁面跳轉,目錄生成 啟用方式: H1~H3(#的個數)[部落格園只支援H1~3] # H1 ## H2 ### H3

回到頂部效果

頁面過長就會有相到直接回到頂部多好啊,我就到網上找了些資料,寫了個demo 1,準備js  images 2,使用 專案中匯入js和images或者自己引用css樣式<script src="tools/scrolltop/js/scrolltopcontrol.js