日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2D游戏开发 - SkyGameEngine2d坐标系

發布時間:2023/12/15 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2D游戏开发 - SkyGameEngine2d坐标系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2D游戲開發 - SkyGameEngine2d坐標系

  • 一、DX11使用的坐標系
  • 二、屏幕坐標系&窗口坐標系
  • 三、SkyGameEngine2d 坐標系
  • 四、世界坐標系&局部坐標系
  • 五、錨點
  • 六、精靈在圖片紋理種的位置坐標

SkyGameEngine2d - 探索 簡潔 易用 ,一款適合游戲入門學習的2d游戲引擎
項目地址 https://gitee.com/xfcode/SkyGameEngine2d

QQ群號:498358732
加群鏈接:https://jq.qq.com/?_wv=1027&k=5odSA9K
示例游戲視頻鏈接:https://www.bilibili.com/video/av59147631/
更多文章見:SkyGameEngine2d 游戲引擎相關文章目錄匯總


我們在開發各種應用程序時,經常會說到某個元素在那個坐標位置。坐標位置是相對某一個坐標系而言的,在不同的坐標系下相同的位置坐標的表示也不盡相同。

理解SkyGameEngine2d引擎中涉及的坐標系,才可以在游戲開發中正確的設置各種游戲元素的位置。

一、DX11使用的坐標系

實際上存在2種完全不同的3D坐標系 - 左手系、右手系 。DirectX11使用左手系,如下圖所示。

所謂左手系,伸出左手,讓拇指和食指成“L”形,大拇指向右,食指向上。其余的手指指向前方。拇指、食指、
其余手指分別代表x,y,z 。

二、屏幕坐標系&窗口坐標系

Windows屏幕坐標系與窗口坐標系為二維坐標系,原點為左上角。x 軸向右遞增,y 軸向下遞增。
在引擎種如果要確定游戲窗口在桌面的位置時,需要用到屏幕坐標,如果使用一些平臺的接口,屏幕坐標系與窗口坐標系很有用。

三、SkyGameEngine2d 坐標系

引擎使用的坐標系為二維坐標系。原點為左下角,x 軸向右遞增,y 軸向上遞增。引擎坐標與屏幕坐標的對比如下圖所示。

四、世界坐標系&局部坐標系

世界坐標系 同引擎坐標系
局部坐標系 也為相對坐標系,是和節點相關聯的坐標系,在引擎中節點時以樹的形式組成的,子節點的位置相對與父節點。節點的坐標系原點為節點左下角。
引擎API Node::setPosition(const Vector2& pos); 設置的坐標為當前節點相對與父節點的位置坐標,即相對與父節點的坐標系。

五、錨點

錨點為節點的參考點,我們在設置一個節點的位置時,實際上就是把這個節點的錨點設置到該位置。節點在縮放、旋轉、位移時都是以錨點為參考點進行。

注意:

  • 精靈的翻折不受錨點的影響。
  • 錨點并非遞歸的生效,改變父節點的錨點位置并不會改變子節點的錨點位置。
  • 錨點的值為節點寬和高的比例。比如(0.5, 0.5)表示錨點在節點的中心,(0, 0)便是錨點在節點左下角的位置。
    節點默認的錨點在節點的左下角,不同類型的節點錨點默認位置不同,如下表所示。

    NodeSceneSprite
    (0, 0)(0, 0)(0.5, 0.5)

    六、精靈在圖片紋理種的位置坐標

    引擎支持從一張大的紋理圖片中指定一塊矩形區域作為精靈的紋理,那么描述這塊區域同樣需要坐標系。引擎約定以紋理的左下角為坐標系的原點,x 軸 向右遞增,y軸向上遞增。如圖所示,開始按鈕的區域Rect 左下角為(0,0)寬高為(250,70)。


    更多文章見:SkyGameEngine2d 游戲引擎相關文章目錄匯總

    本節完
    最后更新時間: 2019-05-28 17:23:51

    總結

    以上是生活随笔為你收集整理的2D游戏开发 - SkyGameEngine2d坐标系的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。