Cocos2d-x官方中文文档 v2.x.docx

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cocos2d-x官方中文文档 v2.x

【cocos2d-x官方文档】cocos2d-x坐标系详解笛卡尔坐标系不同坐标系简介笛卡尔坐标系你可能上学的时候就已经知道“笛卡尔坐标系”了,它在几何课本里经常用到。如果你已经忘得差不多了,下面这些图片可以很快唤起你的记忆:在移动游戏开发过程中,有三种类型的坐标系你可能遇到:UI坐标系iOS/Android/Windows SDK中的通用UI坐标系:起点坐标(x=0, y=0)位于左上角X轴从屏幕最左边开始,由左向右渐增Y轴坐标从屏幕最上方开始,由上向下渐增详见下图?Direct3D坐标系DirectX 使用Left-handed Cartesian CoordinateOpenGL和Cocos2d坐标系Cocos2d-x/-html5/-iphone使用的坐标系和OpenGL的坐标系一样,名为“Right-handed Cartesian Coordinate Syste”。在2D世界中,我们仅会使用x轴和y轴。所以在你的cocos2d游戏中:起点坐标(x=0, y=0)位于左下角,这意味着屏幕位于X轴从屏幕最左边开始,由左向右渐增Y轴坐标从屏幕最下方开始,由下向上渐增下面这张图片有助于更好的阐述Cocos2d-x坐标:一定要注意:通用UI坐标系和DirectX坐标系是不一样的。Parent and Childrens由于每个类都继承自CCNode(cocos2d-x的最顶层类),所以每个类都会默认有anchorPoint属性。 当我们在一个位置画一个的对象的时候,cocos2d-x会合并属性位置和anchorPoint。当然,当旋转一个对象时,cocos2d-x会围绕绕anchorPoint旋转的。我们创建一个灰色父对象和一个蓝色子对象。设置父对象位置是ccp(100,100),子对象的anchor point位于圆心。CCSprite* parent =CCSprite::create(parent.png); parent-gt;setAnchorPoint(ccp(0,0));// Anchor Point parent-gt;setPosition(ccp(100,100)); parent-gt;setAnchorPoint(ccp(0,0)); addChild(parent);//create childCCSprite* child =CCSprite::create(child.png); child-gt;setAnchorPoint(ccp(0.5,0.5)); child-gt;setPosition(ccp(0,0)); parent-gt;addChild(child);//add child sprite into parent sprite.由于我们设置子对象的位置是ccp(0,0),父对象位置是ccp(100,100)。所以,子对象位置是:![](/attachments/1559/parent.jpeg)锚点作为例子,下面这个精灵有的锚点位于 ccp(0,0),位置位于ccp(0,0)。这个矩形精灵将被放到它的父对象(layer)的左下角。示例:// create spriteCCSprite* sprite =CCSprite::create(bottomleft.png);sprite-gt;setAnchorPoint(ccp(0,0));// Anchor Pointsprite-gt;setPosition(ccp(0,0));addChild(sprite);在另一个例子中,我们会摆放一个坐标为ccp(0.5,0.5)的anchorPoint,以便您更好的理解锚点的相对值。// create spriteCCSprite* sprite =CCSprite::create(center.png);sprite-gt;setAnchorPoint(ccp(0.5,0.5));// Anchor Pointsprite-gt;setPosition(ccp(0,0));addChild(sprite);正如你从图中看出的,锚点取的不是像素值,此值的X和Y是相对于此节点的大小的。获取可视区域大小, 获取可视区域起点 vs 获取窗口大小getVisibleSizegetVisibleOrigingetWinSizeVisibleSize(可视区域大小)会返回此点的OpenGL视图的可视区域大小。如果没有调用CCEGLView::setDesignResolutionSize()的话,此值等于getWinSize的大小。 getVisibleOrigin(获取可视区域起点)会返回此点的OpenGL视图的可视区域起点。请移步Multi resol

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档