Cocos2d-x学习(3) - cocos2d坐标系,锚点

1、OpenGL的坐标系

Cocos2d是基于OpenGL开发的,所以Cocos2d的坐标系和OpenGL的坐标系是一致的,都是按照图示方向。和我们平时最常见到的坐标系也是一致的。

2、屏幕坐标系

屏幕坐标系是界面编程中很常见的坐标系。它规定的则是屏幕的左上角为坐标原点,向右为X轴正方向,向下为Y轴正方向。这个相比OpenGL坐标系,X轴方向其实是一致的,不同就在与Y轴方向。

3、元素的位置

每个元素的坐标系都是相对于其父节点的,也就是说如果父节点移动那么该父节点下的元素坐标也是相对移动的。就像是一个人坐在船上,船是父节点,人是子节点,船的移动自然会导致人的移动。

4、元素的锚点

锚点是个非常重要的概念,可以理解成物理里面的物体的等效质心。也就是说元素的摆放位置,移动,旋转等都是基于锚点的。在一些界面编程中也会有锚点的概念,比如C# winform编程中,控件的摆放也是由一个锚点控制的。

Cocos2d中元素的锚点设置可以通过函数:

setAnchorPoint(ccp(0, 0))

来进行设置。

cpp()中两个参数的取值均是[0, 1]。其表示的意义,可以用图表示如下:

也就是说设置cpp(0, 0)表示锚点为该元素的左下角位置。缺省情况下元素的锚点位于cpp(0.5, 0.5)位置,也就是元素的正中心位置。(和图像一样,不管元素是否是规则的矩形,其边界包络框一定是一个矩形,那么锚点的位置就是在这个矩形框的正中心的位置)。

时间: 2024-10-13 00:09:18

Cocos2d-x学习(3) - cocos2d坐标系,锚点的相关文章

iOS手势学习UIGestureRecognizer & cocos2d 手势推荐

iOS手势学习UIGestureRecognizer & cocos2d 手势推荐 手势识别类型: UILongPressGestureRecognizer  // 长按UIPanGestureRecognizer  // 慢速拖动UIPinchGestureRecognizer  // 两指向內或向外拨动UIRotationGestureRecognizer   // 旋转UISwipeGestureRecognizer   // 快速滑动UITapGestureRecognizer   //

Cocos2d-x3.0模版容器详解之——cocos2d::Vector<T>, cocos2d::Map<K,V>, cocos2d::Value

Cocos2d-x3.0模版容器详解之一:cocos2d::Vector<T>  http://www.cocoachina.com/bbs/read.php?tid=199793Cocos2d-x3.0模版容器详解之二:cocos2d::Map<K,V>  http://www.cocoachina.com/bbs/read.php?tid=199916Cocos2d-x3.0模版容器详解之三:cocos2d::Value  http://www.cocoachina.com/b

学习、结论与锚点

所谓锚定效应(Anchoring effect)是指当人们需要对某个事件做定量估测时,会将某些特定数值作为起始值,起始值像锚一样制约着估测值.在做决策的时候,会不自觉地给予最初获得的信息过多的重视. 锚定(anchoring)是指人们倾向于把对将来的估计和已采用过的估计联系起来,同时易受他人建议的影响.当人们对某件事的好坏做估测的时候,其实并不存在绝对意义上的好与坏,一切都是相对的,关键看你如何定位基点.基点定位就像一只锚一样,它定了,评价体系也就定了,好坏也就评定出来了. 学习要生成结论: 结

kivy学习之路--坐标系和坐标转换函数

参考kivy文档796页,kivy大多数控件默认使用绝对坐标系,即window坐标系,原点位于屏幕window左下角,所有控件的坐标都是相对屏幕左下角的绝对坐标. RelativeLayout使用的是相对坐标系,即relative 坐标系,如果控件树中存在RelativeLayout,那么隶属于该布局的控件的坐标原点是该布局的左下角,而不是屏幕左下角.如果存在多个RelativeLayout,那么控件以最靠近它的RelativeLayout类型的父控件的左下角为坐标原点.如果控件自身也是Rela

Directx9.0 学习教程4 - 坐标系以及变换知识小记

坐标系 左图是左手坐标系    右图是右手坐标系 Direct3d用的是左手坐标系 顶点和法向 光栅化 变换 1世界变换 2观察变换 D3DXMATRIX out; D3DXVECTOR3 eye(2,3,3); D3DXVECTOR3 at(0,0,0); D3DXVECTOR3 up(0,1,0); D3DXMatrixLookAtLH(&out,&eye, &at, &up); 3.投影矩阵 他们的作用是 世界矩阵把 local坐标变为世界坐标 观察矩阵把世界坐标变为

Cocos2d入门--1-- 初涉相关属性或代码

 Cocos2d入门--1-- 初涉相关属性或代码 Cocos2d vision:  cocos2d-x-3.8.1 万丈高楼,起于累土.对于一个游戏框架的学习,其实在于框架功能的使用积累,学会了如何在cocos2d游戏引擎的基础上使用它提供的各种功能,并灵活运用, 以及学会查阅Cocos2d官方提供的API文档.相信自己也能开发出自己喜爱或者让别人羡慕的游戏. 目录: 1>认识origin和visibleSize以及cocos2d的基础绘画类DrawNode的简单实用 2>认识 CCLOG(

第一个cocos2d程序

简介 我们这个专题要学习的是一款iOS平台的2D游戏引擎cocos2d,严格来说叫做cocos2d-iphone,因为cocos2d有很多个版本,我们学习的是iphone版本的.既然是个游戏引擎,那么它肯定是为了方便游戏开发而设计的.使用了cocos2d,你可以编写极少量的代码就做出非常cool的游戏,节省你的开发周期.当然,要想出一个大作,还必须下苦工.在iOS平台的游戏引擎还不止cocos2d一个,不过cocos2d还是比较受欢迎的,AppStore上已经有超过100个游戏是基于cocos2

【Cocos2D研究院之游戏开发】

http://www.xuanyusong.com/archives/category/ios/cocos2d_game 分类目录归档:[Cocos2D研究院之游戏开发] 201211-19 Cocos2D研究院之打开全新ViewController与返回(八) 雨松MOMO [Cocos2D研究院之游戏开发] 围观5745次 17条评论          之前cocos2d的文章都是由魏凯同学维护,从今天开始我也会抽时间写点cocos2d的文章.最近在研究如何将IOS游戏与软件结合起来.通常游

cocos2d 3.3 安装教程

最近在学习cocos-2d,百度一下cocos-2d,铺天盖地的都是cocos-2dx的教程,不得不说,老外还是钟情cocos2d,之前安装过cocos2d 2.0版本,网上的教程还是都是0.9的安装教程,如今cocos2d已经更新到3.3.6,现在的在3.1以后的版本已经不再提供安装脚本和模版,取而代之的是使用一个可视化的SpriteBuilder完成cocos2d的更新和模版,也就是以后所有的cocos2d的模版都是从SpriteBuilder中创建. 作者博客的说明:http://foru