当前位置:   article > 正文

2D游戏开发 - SkyGameEngine2d坐标系_插入2d游戏人物图片其坐标是怎么算的

插入2d游戏人物图片其坐标是怎么算的

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); 设置的坐标为当前节点相对与父节点的位置坐标,即相对与父节点的坐标系。

五、锚点

锚点为节点的参考点,我们在设置一个节点的位置时,实际上就是把这个节点的锚点设置到该位置。节点在缩放、旋转、位移时都是以锚点为参考点进行。

注意:

  1. 精灵的翻折不受锚点的影响。
  2. 锚点并非递归的生效,改变父节点的锚点位置并不会改变子节点的锚点位置。

锚点的值为节点宽和高的比例。比如(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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/87527
推荐阅读
相关标签
  

闽ICP备14008679号