您的位置:首页 > 移动开发 > Cocos引擎

cocos2d x开启高清模式时地图坐标错误问题解决

2013-05-31 16:12 302 查看
哎,记忆力下降的厉害,前一段时间本来想记录下来的,但又忘记了,本来要记录下来两个问题的解决,结果今天只记得这么一个问题,另外一个问题却断然无记忆


前段时间一直在模拟器上开发COCOS2DX游戏,后来移植到真机ITOUCH上,当开启高清模式时,地图坐标完全错乱,点击需要的地方无反应

通过分析发现,地图只是图片被压缩(姑且用这个词语)显示在960*640的屏幕上,其看来的大小就是480*320,而之前用工具用的960*640的地图的坐标位置是当前大小的2倍,换句话说

就是地图坐标没有随着图片的压缩而同步改变

我发现了这个东西CCDirector::sharedDirector()->getContentScaleFactor(),这个是获取当前伸缩比,当无高清模式时,其值为1,当有高清模式时,其值为2

好吧,问题得到解决

在所有调用地图坐标的地方我都除以伸缩比,这样无论是普清还是高清,都能应对自如

比如:

float scale = CCDirector::sharedDirector()->getContentScaleFactor();

XXX->setPosition(x/scale,y/scale);

注:XXX是任意对象名称,x,y为从地图中获取的坐标值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐