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


  • 相关阅读:
    OSCP Learning Notes Buffer Overflows(3)
    OSCP Learning Notes Buffer Overflows(5)
    OSCP Learning Notes Exploit(3)
    OSCP Learning Notes Exploit(4)
    OSCP Learning Notes Exploit(1)
    OSCP Learning Notes Netcat
    OSCP Learning Notes Buffer Overflows(4)
    OSCP Learning Notes Buffer Overflows(1)
    OSCP Learning Notes Exploit(2)
    C++格式化输出 Learner
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6719212.html
Copyright © 2011-2022 走看看