Cocos2d-x之getVisibleSize,getContentSize,boundingBox,getContentSizeInPixels,convertToGL,convertToUI

Cocos2d-x之getVisibleSize,getContentSize,boundingBox,getContentSizeInPixels,convertToGL,convertToUI,第1张

概述CCNode类的setPosition,getPosition函数如果是一个Node的Child则获取的坐标就是该Node的本地坐标 另一个关键问题就是在cocos2d-x里就是各种对象的大小问题。因为在cocos2d-x里CCNode对象有缩放的方法setScaleX和setScaleY。所以在获取对象大小的时候必须根据情况明确指定获取对象原始大小,还是缩放后的大小。当然cocos2d-x里提供 CCNode类的setposition,getposition函数如果是一个Node的Child则获取的坐标就是该Node的本地坐标 另一个关键问题就是在cocos2d-x里就是各种对象的大小问题。因为在cocos2d-x里CCNode对象有缩放的方法setScaleX和setScaleY。所以在获取对象大小的时候必须根据情况明确指定获取对象原始大小,还是缩放后的大小。当然cocos2d-x里提供了对应函数来完成这些 *** 作: getContentSize函数来获得节点原始的大小。只是逻辑尺寸,不是像素 boundingBox函数来获得经过缩放和旋转之后的外框盒大小。 getContentSizeInPixels获得的是像素点大小
像素点和逻辑点关系:逻辑点大小 = 像素大小/contentScaleFactor. // http://www.bwxxkj.com/a/jishuzhongxin/shoujikaifa/2012/1216/157086.html getVisibleSize:默示获得视口(可视区域)的大小,若是DesignResolutionSize跟屏幕尺寸一样大,则getVisibleSize便是getWinSize。
getVisibleOrigin:默示可视区域的出发点坐标,这在处理惩罚相对地位的时辰很是有效,确保节点在不合辨别率下的地位一致。
坐标转换:
GL坐标系,cocos2d-x默认坐标系:
CCPoint 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全部内容,希望文章能够帮你解决Cocos2d-x之getVisibleSize,getContentSize,boundingBox,getContentSizeInPixels,convertToGL,convertToUI所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1040347.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存