加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx vs下模拟器屏幕变大后的触摸偏移

发布时间:2020-12-14 16:28:46 所属栏目:百科 来源:网络整理
导读:Cocos2dx 模拟器屏幕变大后的触摸偏移 之前我的屏幕设置是比较小的glview-setFrameSize(320,480);所以并没有出现什么问题 后面因为在手机上显示太小了。所以我在调试的时候就把模拟器大小调大,调到了glview-setFrameSize(640,1136) 却突然发现触摸事件响应

Cocos2dx 模拟器屏幕变大后的触摸偏移

之前我的屏幕设置是比较小的glview->setFrameSize(320,480);所以并没有出现什么问题

后面因为在手机上显示太小了。所以我在调试的时候就把模拟器大小调大,调到了glview->setFrameSize(640,1136)

却突然发现触摸事件响应不了。

后面经过测试发现是触摸偏移向下了。

所有的触摸事件都是这样。

后面搞了好久才知道是为什么。

当framesize设置得太大模拟器屏幕会超出显示器的显示范围。

可是这个时候我观察到不管设置的多大,模拟器只会超出显示器固定的部分。frameSize的高设的再大,模拟器的屏幕大小也不会再大,但是这时里面的内容都会向上偏移。

glview->setFrameSize(640,1100);

glview->setFrameSize(640,2000);


然后我看到左下角三行数据一直是在那里,我就想测试一下那里对应的position,结果发现framesize高设的越大的相对应的GL verts position越高。我又测了一下在显示器范围内的模拟器中GL verts这一行的高度。发现都是一样的。

所以发生触摸偏移是因为你的framesize设置的太大了。超出了显示器显示范围。

导致坐标偏移了。你看到按钮在那里,可是它的真实position是在下面的地方。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读