http://blog.csdn.net/huangkaipeng/article/details/48050465
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是在下面的地方。