原帖地址:http://blog.csdn.net/musicvs/article/details/28390617

近期发现不少朋友都遇到这个问题,用Cocostudio的UI编辑器创建好UI后,在代码中载入UI。然后给button(Button)加入点击监听事件,发现不管怎样都点击不了button,没有不论什么反应。

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

笨木头花心贡献,啥?花心?不呢。是用心~

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

文章来源:笨木头与游戏开发

假设你也遇到这种问题。最好还是进行一个简单的操作。

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

  1. auto director = Director::getInstance();
  2. auto glview = director->getOpenGLView();
  3. if(!glview) {
  4. glview = GLView::create("My Game");
  5. glview->setFrameSize(800,1280);
  6. director->setOpenGLView(glview);
  7. }

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

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

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

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

不信的话,大家能够试试把游戏窗体的高设成一个非常大的值(大于你的显示器分辨率的高),比方:glview->setFrameSize(800,4280);

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

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

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

Cocos2d-x3.0 载入Cocostudio的UI后,button无法点击的解决方法的更多相关文章

  1. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法

    博客分类: jquery-easyui jQueryAjax框架HTML  现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...

  2. Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)

    Android 打开方式选定后默认了改不回来?解决方法(三星s7为例) 刚刚在测试东西,打开一个gif图,然后我故意选择用支付宝打开,然后...支付宝当然不支持,我觉得第二次打开它应该还会问我,没想到 ...

  3. python2在安装pywin32后出现ImportError: DLL load failed 解决方法

    python2在安装pywin32后出现ImportError: DLL load failed 解决方法 在python2中有时候会出现: import win32api   ImportError ...

  4. ajax 载入html后不能执行其中的js解决方法

    事件背景 有一个公用页面需要在多个页面调用,其中涉及到部分js已经写在了公用页面中,通过ajax加载该页面后无法执行其中的js. 解决思路 1. 采用附加一个iframe的方法去执行js,为我等代码洁 ...

  5. ajax 动态载入html后不能执行其中的js解决方法

    事件背景 有一个公用页面需要在多个页面调用,其中涉及到部分js已经写在了公用页面中,通过ajax加载该页面后无法执行其中的js. 解决思路 1. 采用附加一个iframe的方法去执行js,为我等代码洁 ...

  6. Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds 解决方法

    Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds. If the server requires ...

  7. LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法

    1.QTP11 下载地址:http://www.genilogix.com/downloads/unified-functional-testing/quicktest-professional-11 ...

  8. 使用appium后安卓手机无法调出键盘解决方法

    问题:用appium进行真机调试后,使用手机的app进行输入时无法调出键盘. 原因:appium调试时,将手机输入法设置成了Unicode IME 解决方法: 方法一,手机设置里修改输入法: 不同的手 ...

  9. 安装centos后无法引导启动windows7的解决方法

    在电脑Windows7系统上安装Centos7,安装后找不到Windows7引导菜单. 原因:因为CentOS 7已采用新式的grub2系统,所以需要进入/boot/grub2目录后使用vi编辑gru ...

随机推荐

  1. JSP中Out和Request对象详解

    内置表示不需要new便可直接使用. 一.基础知识 1.缓冲区:IO最原始是一个一个字节的读取,这就像吃米饭的时候一粒一粒的吃,很没有效率,这时候就有了碗,一碗一碗的吃,岂不痛快. 2.Get提交不能超 ...

  2. FIS3中使用less

    安装插件: npm install -g fis-parser-less npm install -g fis3-postpackager-loader 配置:fis-conf.js 使用fis-pa ...

  3. Silverlight:《Pro Silverlight5》读书笔记 之 XAML

    XAML Properties and Events in XAML Simple Properties and Type Converters To bridge the gap between s ...

  4. 解决kylin查询报错:org.apache.kylin.rest.exception.InternalErrorException

    报错信息: -- ::, ERROR [Query 12e9c054-760c---b1f06724c9b6-] service.QueryService: : Exception when exec ...

  5. 替换Android系统镜像system.img的方法

    之前改动了Android的系统源代码的framework层代码,定制ROM.通过make之后会生成三个镜像文件userdata.img.system.img.ramdisk.img三个文件.这个时候我 ...

  6. Hibernate查询语言

    HQL(Hibernate Query Language)查询语言是完全面向对象的查询语言,它提供了更加面向对象的封装,它可以理解如多态.继承和关联的概念.HQL看上去和SQL语句相似,但它却提供了更 ...

  7. Epplus 设置excel 页边距 及多文件合并

    1:使用epplus合并多个excel文件到同一excel的不同sheet页中 private static bool MergeExcel(string _stFilePath, List<s ...

  8. OpenMP 线程互斥锁

    OpenMP是跨平台的多核多线程编程的一套指导性的编译处理方案(Compiler Directive),指导编译器将代码编译为多线程程序. 多线程编程中肯定会涉及到线程之间的资源共享问题,就可以使用互 ...

  9. event & EventHandler

    [event & EventHandler] 在老C#中EventHandler指的是一个需要定义一个delegate,这个delegate是回调的规范.例如: public delegate ...

  10. 【翻译自mos文章】在一次失败的 &#39;Shutdown Immediate&#39;之后,数据库job 不能执行。

    在一次失败的 'Shutdown Immediate'之后.数据库job 不能执行. 參考原文: Database Jobs Do Not Run After a Failed 'Shutdown I ...