cocos2d-x 中的坐标系是笛卡尔坐标系,向右为 x 轴正方向,向上为 y 轴正方向,以像素为单位

原点在屏幕左下角的坐标系叫世界坐标系,是整个游戏中的根基,直接添加到场景中的节点,设置的位置都是指世界坐标系,getPosition 返回的都是世界坐标系

每个节点都可以当做一个坐标系,节点坐标系的原点位于其内容的左下角,节点添加子节点时, 子节点设置的位置,按照父节点的坐标系,当父节点的坐标变化时,子节点也做相同的变化,即子节点相对父节点不变;节点坐标系是坐标系中的坐标系,分析某个节点坐标一定要找对父节点

Node 节点提供世界坐标系和节点坐标系的转换函数:

    Vec2 convertToNodeSpace(const Vec2& worldPoint) const;
Vec2 convertToWorldSpace(const Vec2& nodePoint) const;

锚点

    virtual void setAnchorPoint(const Vec2& anchorPoint);
virtual const Vec2& getAnchorPoint() const;

锚点有两层含义,相对父节点来说是设置的位置,setPosition 设置的是锚点的位置

相对自己来说,锚点是自己变形的参照点,比如旋转时,是按中心点旋转,还是按左下角旋转?按锚点旋转

锚点取值在 (0,0) ~ (1,1)之间,参照 Size 大小,是个比例数; (0.5,0.5) 即正中间,也是默认的,可以任意改锚点,甚至超出范围,至少效果就仁者见仁,智者见智了。

根据锚点的第一层含义,修改锚点也能改位置,特别是小范围,精确的修改,但会带来不想要的副作用,所以不要狗拿耗子多管闲事了。

cocos2d-x 中的坐标系的更多相关文章

  1. ArcGIS中的坐标系定义与转换 (转载)

    原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念:  GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐 ...

  2. 如何在cocos2d项目中enable ARC

    如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...

  3. 如何在Cocos2D游戏中实现A*寻路算法(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  4. 如何在Cocos2D游戏中实现A*寻路算法(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  5. ArcGIS中的坐标系:基本概念和常用操作(一)

    本文呢是主要是借鉴李郎平李大大的博士论文和百度百科,里面还有一点点我自己的理解,希望能帮助自己加深对于坐标系的认识. 李大大的博客:http://blog.sciencenet.cn/u/Brume ...

  6. HTML中的坐标系及其在MouseEvent和元素Box中的应用

    HTML中的坐标系及其在MouseEvent和元素中的应用 HTML有四个坐标系统: Screen, Page,Client和offset, 用于描述DOM元素的Box尺寸和MouseEvent中的位 ...

  7. c# winform 中的坐标系

    从数学角度讲,Point是一个二维矢量,包含两个公共整型属性,属性用大写X和Y(c#中公共属性一般约定以大写字母开头).当坐标不是整数值是float时,用PointF代替Point使用. 常用的Siz ...

  8. 4.three.js中的坐标系

    Three.js中的坐标系 three.js中坐标系使用的是左手坐标系 左手坐标系和右手坐标系的对比: 当然three.js中使用的是右手坐标系 three.js中的旋转的定义 但是three.js中 ...

  9. Halcon中的坐标系特点及XLD的镜像转换

    我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角.那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析. gen_image_const ...

随机推荐

  1. .NET MVC3中扩展一个HtmlHelper方法CheckBoxList

    MVC中有DropDownList方法,挺好用,可是最常用的需求,一组checkboxlist咋没个类似方法呢?郁闷之余,自己做一个吧,直接上代码 public static MvcHtmlStrin ...

  2. html5,表单与label标签配套使用

    <form action=""><input type="checkbox" name="dx" value=" ...

  3. MSDeploy

    http://blogs.iis.net/jamescoo/default.aspx   Web Deployment Tool Now Works With Credential Store Feb ...

  4. mac上安装Navicat Premium 破解版+汉化包

    Navicat是一款非常强大的sql分析管理工具.以前一直在windows上面使用. 由于工作的需要,我也是折腾出了这不易的mac破解版.下了好多网上的版本,亲测这个可用. 俗话说:工欲善其事,必先利 ...

  5. laravel框架总结(四) -- 服务容器

    1.依赖 我们定义两个类:class Supperman 和 class Power,现在我们要使用Supperman ,而Supperman 依赖了Power class Supperman { p ...

  6. 在Outlook中修改IMAP邮件账户的存储位置

    使用Outlook收发邮件,但是不想把邮件保存在默认的C盘. 对于POP3账户,Outlook提供了变更数据文件目录的方法,但是IMAP账户无法修改. 网上搜索了很多资料,终于找到一个可行的办法,整理 ...

  7. Spring RabbitMq

    spring-rabbitmq.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?><beans ...

  8. [问题2014A12] 解答

    [问题2014A12]  解答 将问题转换成几何的语言: 设 \(\varphi,\psi\) 是 \(n\) 维线性空间 \(V\) 上的线性变换, 满足 \(\varphi\psi=\psi\va ...

  9. HTML标签的应用(新手)

    雪碧图(精灵图): sprite compass-合并(尽量宽高相同) 兼容性: 1.resct重置技术:normalize技术 2.加前缀:-webkit- -moz- -0- -ms- 3.< ...

  10. [翻译]LSP程序的分类

    翻译的太垃圾,不建议其它人阅读本文. Note:LSP现在已经不推荐使用.自windows8和windows Server2012开始,使用Windows Filtering Platform. Wi ...