cocos2d-x 菜鸟实习生学习篇(四) 锚点的理解
来源:互联网 发布:淘宝拍卖车辆 编辑:程序博客网 时间:2024/06/03 17:45
这两天一直都在看http://www.cnblogs.com/cocos2d-x/archive/2012/03/01/2376143.html 的博客,
不得不再强调一遍,这博客讲的非常详细,绝对适合新手去看,受益匪浅。
昨天用了半天来研究这篇博客,这个例子讲的很具体,以前的一些疑惑都有豁然开朗的感觉(咋感觉我在拍广告?),其中对于锚点这个词,我觉得很有必要把我的理解拿出来分享下。这货绝对是相当的重要哇!
首先要了解下坐标系:
一般意义上的坐标系为笛卡尔坐标系(应该是初中平面几何开始讲的吧,高中立体几何扩展到三维空间。):
不同的图形库采用不同的坐标系。iPhone平台提供了两种绘图库:Quartz 2D和OpenGL ES。其中Quartz 2D是Core Graphics绘图库的子集,OpenGL ES是跨平台图形库OpenGL的嵌入设备版。这两者的坐标系原点不一样。
Quartz 2D的原点在左上角:
大多数图形窗口应用程序都采用类似的坐标系。这是一种基于虚拟“画布”绘图模型的图形库,绘图指令按次序向“画布”上画下不同的内容,后画的内容会覆盖先画的内容(透明的除外)。这比较容易理解。
OpenGL ES的原点在左下角:
OpenGL ES相对比较复杂,这实际上是一个3D的绘图库,按照“状态机”模型设计的绘图库。他不是简单地让后者叠加在前者上面,而是记录各个绘制内容的三维位置关系,再按照系统设定的投影关系,将绘制的所有内容投影在某个特定的虚拟窗口上。
cocos2d-x是基于OpenGL ES的,所以请大家牢记我们使用笛卡尔坐标系,坐标系的原点在左下角。
然后开始讲锚点:
为了将一个矩形图像精准地放置在屏幕某一位置上,需要设置该矩形的位置参考点。通常人们习惯于将该参考点设置在矩形的左上角上,而在cocos2d-x中我们称其为锚点,默认位置在矩形的中心。
2)Position(位置)
Position就是CCNode对象实际的OpenGL ES坐标。
下图说明了如何利用这两个属性来设置CCNode对象的显示位置:
图中红色矩形框的Position为(5, 5),anchorPoint为(0.3,0.5)。若要选择紫色大圆点A为锚点,则设置anchorPoint为(0, 0),如要选择粉红色大圆点B为锚点,则设置anchorPoint为(1,1)。显然设置为(0.5, 0.5)时,锚点位于矩形对象的几何中心点C,这是CCSprite类对象的默认anchorPoint值。
lbScore->setAnchorPoint(ccp(1, 1));这个是实现显示时间的,这时候如果锚点设置成,0,0,那么游戏画面将看不到时间,或者说只能看到一点。
设置时间显示位置就是在锚点的基础上进行设置的。
总感觉讲不清楚。。。
- cocos2d-x 菜鸟实习生学习篇(四) 锚点的理解
- cocos2d-x 菜鸟实习生学习篇
- cocos2d-x 菜鸟实习生学习篇-菜单坐标
- cocos2d-x 菜鸟实习生学习篇(二)helloworld完全注释
- cocos2d-x 菜鸟实习生学习篇(十) win32项目移植到安卓
- cocos2d-x 菜鸟实习生学习篇(二)helloworld完全注释
- 实习生的cocos2d-x学习
- COCOS2D-X锚点的理解
- Cocos2d-x 菜鸟进阶篇(四)Label 试用浅析
- 理解cocos2d-x中的锚点
- cocos2d-x中的锚点(AnchorPoint)理解
- cocos2d-x 菜鸟学习笔记四(游戏场景与场景切换)
- cocos2d-x 菜鸟学习笔记十四(简单的碰撞检测 进阶篇)
- cocos2d-x 菜鸟学习笔记十五(简单的碰撞检测 实践篇 上)
- cocos2d-x 菜鸟学习笔记十六(简单的碰撞检测 实践篇 中)
- cocos2d-x 菜鸟学习笔记十七(简单的碰撞检测 实践篇 下)
- Cocos2d-x学习(四):带光标的输入框
- Cocos2d-x学习(四):带光标的输入框
- object-c 完结篇 第十二天
- 关于程序规则的选择
- Windows 8 Directx 开发学习笔记(九)材质定义及混合光照效果实现
- 关于伪静态
- Redis与Memcached的区别
- cocos2d-x 菜鸟实习生学习篇(四) 锚点的理解
- 写在新工作内容开始之前
- No buffer space available
- 群组项目管理
- BAPI for FB50 成本中心总帐批导
- showModalDialog模态对话框的使用以及浏览器兼容
- 《JAVA视频教程》 学习笔记【1】
- Centos中压缩(zip)和解压(unzip)命令
- 关于微机CPU的指令系统-----指令系统(移位操作指令)