有个问题最近才遇到,父精灵进行缩放处理,会对子精灵进行标记(boolean值),在实际绘制过程中会影响子精灵显示大小,但并不改变子精灵的getBoundingBox所获得的值,也就是只有直接setscale才会影响getBoundingBox数值。
Sprite中有个方法:
getTextureRect返回精灵纹理大小,返回CGRect类型,并且是原始纹理大小,无关缩放。在一般情况下和getContentSize作用一样,但如果用TP处理过,还回值是实际纹理大小,留白部分会去除。这个在碰撞检测过程中经常用到。
cocos2d中还有两个方法用于坐标转换:
convertTowindowspace,将节点坐标转换为屏幕坐标,注意的是转换后为UI坐标系。
convertToNodeSpace将屏幕坐标转换为节点坐标,转换后为GL坐标系。
getVisibleSize:默示获得视口(可视区域)的大小,若是DesignResolutionSize跟屏幕尺寸一样大,则getVisibleSize便是getWinSize。
getVisibleOrigin:默示可视区域的出发点坐标,这在处理惩罚相对地位的时辰很是有效,确保节点在不合辨别率下的地位一致。 坐标转换:
GL坐标系,cocos2d-x默认坐标系:
Point Director::convertToGL(const Point& uiPoint) { Size s = m_obWinSizeInPoints; float newY = s.height - uiPoint.y; } 屏幕坐标系: 默认原点在左上角 Point Director::convertToUI(const Point& glPoint) { Size winSize = m_obWinSizeInPoints; float oppositeY = winSize.height - glPoint.y; return ccp(glPoint.x,oppositeY); } 两种坐标的X方向没有变,只变了Y方向,cocos2d-x里默认的GL坐标系,即左下角为原点ccp(0.0f,0.0f)
本人cocos2dx 2.x和3.x的源码淘宝地址(欢迎大家光顾):https://shop141567464.taobao.com/?spm=a313o.7775905.1998679131.d0011.pzUIU4
不懂的可以加我的QQ群: 239982941(cocos2d-x 3.x学习群)欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~ 总结
以上是内存溢出为你收集整理的cocos2d-x3.2中的getVisibleSize,getContentSize,boundingBox,getContentSizeInPixels,convertToGL,convertTo全部内容,希望文章能够帮你解决cocos2d-x3.2中的getVisibleSize,getContentSize,boundingBox,getContentSizeInPixels,convertToGL,convertTo所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)