• Cocos2d-x3.0 载入Cocostudio的UI后,button无法点击的解决方法


    原帖地址: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平台上的问题而已,无关紧要,仅仅是会影响測试,所以。最好不要把游戏窗体的宽高设置地超过你的显示器分辨率。


  • 相关阅读:
    Mysql 用户管理
    php插件名称 yum安装
    U盘模式无法引导进入pe系统
    修改 ssh 远程连接 时间
    tomcat 安装在 linux
    tomcat 配置文件 server.xml
    Linux 安装 jdk
    高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)
    Keepalived 工作原理和配置说明
    Mysql 初始化 及 密码管理
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6719212.html
Copyright © 2020-2023  润新知