cocos2d-x v3.1 座標系統(五)
為了能夠更好的佈局以及瞭解物件所在的位置,我們必須對cocos2d-x中的座標有詳細的瞭解,本篇文章主要就是了解cocos中用到的座標系統。學過數學的人都知道“
笛卡兒座標系統
”,在“笛卡兒座標系統”中又分為了左手座標系和右手座標系。我們所瞭解的direct3d和opengl分別使用了“左手座標系統”和“右手座標系統”,那cocos2d-x使用的是什麼樣的做座標系統呢?由於cocos2d-x是基於opengl開發的當就使用了右手座標系統。由於cocos2d-x是一個2d的遊戲引擎所有我們只用到了x和y軸。
前面只是普及了哈座標系統的概念,那究竟在cocos2d-x中有幾個座標系統呢?
1.opengl座標系
座標原點在螢幕的左下方,x軸向右為正,y軸向上為正。如下圖:
圖.12. 世界座標系
也叫絕對座標系,原點與opengl座標系原點位置一致。“世界”指遊戲世界,它建立了描述其他座標系所需要的參考標準。如圖.1
3. 螢幕座標系統
也叫ui座標系,主要用於我們在觸控式螢幕幕時,那個觸控點就是傳入的螢幕座標,原點在左上角x軸向右為正,y軸向下為正。
圖.24. 本地座標系
也叫相對座標系,它是相對於父節點的。它的座標原點在父物件的左下角。假設我們在場景中有兩個物件node1和node2.node1是node2的父節點,node1的位置是vec2(200, 200)。node2的位置為vec(0,0),錨點為vec2(0.5, 0.5),此時node2的位置就是相對位置,它是相對於node1的。效果如圖.3所示:
圖.3錨點
錨點就是物件(node及派生物件)的一個定位點,我們對於物件的定位,旋轉都是基於錨點的。預設物件的錨點是vec2(0.5, 0.5)也就是在物件的中心。如下圖.4所示:
圖.4中間那個紅點就是錨點,當然我麼也可以把錨點設定到其他位置。比如我們將它的錨點設定為vec2(0, 0)。也就是物件的左下角。如圖.5所示:
圖.5
常用座標系統
1.裝置座標系與螢幕座標系 裝置座標 device coordinate 又稱為物理座標 physical coordinate 是指輸出裝置上的座標。通常將螢幕上的裝置座標稱為螢幕座標。裝置座標用物件距離視窗左上角的水平距離和垂直距離來指定物件的位置,是以畫素為單位來表示的,裝置座標的x軸向右為正...
Qt 座標系統
qt座標系統 world coordinates 邏輯座標 世界變換 window coordinates 中間態座標 視窗視口變換 device coordinates 物理座標 世界變換 qpainter setworldmatrixenabled qpainter setworldtransf...
android view座標系統
首先明確一下 android中的座標系統 螢幕的左上角是座標系統原點 0,0 原點向右延伸是x軸正方向,原點向下延伸是y軸正方向。一 view的座標 需要注意view的座標是相對父容器而言的,包括 gettop getbottom getleft getright 以gettop為例,函式源 為 t...