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

Cocos2d-x3.0 加载Cocostudio的UI后,按钮无法点击的解决方法

发布时间:2020-12-14 19:30:21 所属栏目:百科 来源:网络整理
导读:最近发现不少朋友都遇到这个问题,用Cocostudio的UI编辑器创建好UI后,在代码中加载UI,然后给按钮(Button)添加点击监听事件,发现无论如何都点击不了按钮,没有任何反应。 或者,往按钮的下面一些位置点击,却发现按钮被点击了,点击坐标的位置明显和按钮

最近发现不少朋友都遇到这个问题,用Cocostudio的UI编辑器创建好UI后,在代码中加载UI,然后给按钮(Button)添加点击监听事件,发现无论如何都点击不了按钮,没有任何反应。

或者,往按钮的下面一些位置点击,却发现按钮被点击了,点击坐标的位置明显和按钮的位置有偏差。

如果你也遇到这样的问题,不妨进行一个简单的操作。

打开AppDelegate.cpp类,在AppDelegate::applicationDidFinishLaunching函数里,其中一段代码:

 
 
  1. autodirector=Director::getInstance();
  2. autoglview=director->getOpenGLViewif(!glview){
  3. glview=GLViewcreate("My Game" glview>setFrameSize(800,1280 director>setOpenGLView(glview}

看看这句代码:glview->setFrameSize(800,1280); 也许你的代码里没有这句,不管有没有,接下来要做的都一样。

把这句代码改为(没有这句代码的就加上):glview->setFrameSize(600,400);

里面的数字大小你自己定,但是要注意,不要超过你的电脑显示器分辨率的大小。

一旦游戏窗口宽高大于你的显示器分辨率,就会出现UI按钮无法点击或者点击错位的现象。

不信的话,大家可以试试把游戏窗口的高设成一个很大的值(大于你的显示器分辨率的高),比如:glview->setFrameSize(800,4280);

然后运行游戏,你会发现,游戏窗口的高并没有想象中的高,它变得和你的显示器的一样的高。

也许这是Cocos2d-x3.0之后特意这么做的,为的是避免你设置的宽高太大而无法完整显示游戏窗口,却导致UI按钮点击坐标错位的问题。

这个只是在Windows平台上的问题而已,无关紧要,只是会影响测试,所以,最好不要把游戏窗口的宽高设置地超过你的显示器分辨率。

转载请注明,原文地址:http://www.benmutou.com/blog/archives/1027

(编辑:李大同)

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

    推荐文章
      热点阅读