Cocos2d-x 中setFrameSize 和 setDesignResolutionSize的一个问题

在cocos2dx-3.x版本中,为实现屏幕适配引入了DesignResolutionSize概念,允许自定义设计分辨率以适应不同设备。作者在尝试模拟960*640屏幕,实际逻辑分辨率为480*320时遇到了问题。博客详细探讨了在设置setFrameSize和setDesignResolutionSize时遇到的挑战。
摘要由CSDN通过智能技术生成

      最近开始搞cocos了,虽然开发起来看起来还挺简单的……但是感觉坑真是好多。。。

     ok,现在讲一下我遇到的一个问题。在cocos2dx-3.x的版本中,增加了DesignResolutionSize的概念,这个东西可以使得自己设计的屏幕大小适应各种机器的屏幕。听起来还是很方便的。我开始想要模拟一个960*640的屏幕,但逻辑上的分辨率是480*320,于是我这么写了:


    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLViewImpl::create("Cpp Empty Test");
        director->setOpenGLView(glview);
    }
	// 设定分辨率
	glview->setDesignResolutionSize(480,320,ResolutionPolicy::EXACT_FIT);
	glview->setFrameSize(960,640);

    结果出现了奇怪的问题,在我写touch事件的时候,坐标怎么搞都不对。搞了好长时间才弄好,晕了。实际上,问题就出在我刚才设定分辨率的部分,把代码改成这样就好了:


glview->setFrameSize(960,640);
glview->setDesignResolutionSize(480,320,ResolutionPolicy::EXACT_FIT);

为什么会出现这样的问题呢。。。我们来看一下源码,首
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值