CCNode类的setPosition,getPosition函数如果是一个Node的Child则获取的坐标就是该Node的本地坐标另一个关键问题就是在cocos2d-x里就是各种对象的大小问题。因为在cocos2d-x里CCNode对象有缩放的方法setScaleX和setScaleY。所以在获取对象大小的时候必须根据情况明确指定获取对象原始大小,还是缩放后的大小。当然cocos2d-x里提供了对应函数来完成这些操作:getContentSize函数来获得节点原始的大小。只是逻辑尺寸,不是像素boundingBox函数来获得经过缩放和旋转之后的外框盒大小。getContentSizeInPixels获得的是像素点大小像素点和逻辑点关系:逻辑点大小 = 像素大小/contentScaleFactor.// CCDirector::convertToGL(const CCPoint& uiPoint){ CCSize s = m_obWinSizeInPoints; float newY = s.height - uiPoint.y;}屏幕坐标系: 默认原点在左上角CCPoint CCDirector::convertToUI(const CCPoint& glPoint){ CCSize winSize = m_obWinSizeInPoints; float oppositeY = winSize.height - glPoint.y; return ccp(glPoint.x,oppositeY);}两种坐标的X方向没有变,只变了Y方向,cocos2d-x里默认的GL坐标系,即左下角为原点ccp(0.0f,0.0f)
推荐整理分享Cocos2d-x之getVisibleSize,getContentSize,boundingBox,getContentSizeInPixels,convertToGL,convertToUI,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
Cocos2dx加入Dragonbones支持 1、DragonBonesCPP从GitHub上下载DragonBonesCPP项目,将dragonbones文件夹移动到Game/cocos2d/cocos/editor-support下。2、添加db库在vs(VisualStudio)中打开你的Cocos2dx项目。右
cocos2dx 3.3显示中文 在网上搜了好几个。。都是2.x的版本,不过变动不大,中文显示还是用的xml,只是api有些微变化前面的xml文件这些步骤跟2.x版本是相同的1.创建xml文件,
基于cocos2dx的英雄联盟皮肤选择菜单 最终效果图英雄联盟皮肤选择设计说明实现目标所需要的动作移动(MoveTo),伸缩(ScaleTo),倾斜(OrbitCamera)实现目标所需要函数(这是一个数学函数)x/(xa)其中a