zoukankan      html  css  js  c++  java
  • Cocos2d-x UIButton按钮无效

    使用cocostudio 在cocos2d-x 编写项目功能时,将某个UIButton设置为无效的时候,即为:Button ->SetEnable(false)

    出现问题: 按钮消失了。

    然后尝试方法:

    (1) Button ->setBright(false); 这样的情况下,设置的Normal,pressed,disable三种图片会进行切换,但是很不巧的是,你依然可以点击发生事件。

    (2) 按照第一步的说法既然图片已经切换,既然能发生点击事件,那我这样做:

    Button->SetBright(false);

    Button->SetTouchEnabled(false);

    这样的结果,总算是将按钮的图片切换为disable且无法点击了,问题似乎是解决了。

    然而,在网上查询资料的时候,有这样的几句话让自己感觉有些道理,假如将某个按钮进行重复的设置SetTouchEnabled(false),SetTouchEnabled(true)极有可能导致该按钮点击无效。

    既然如此,程序员的强迫症促使我找到了第三种方法。

    (3)我将按钮如此设置,Button->SetEnable(false)。然后呢,打开UIWidget.cpp中的接口

    void Widget::visit()
    {
        //if (_enabled)      // 注释掉
        {
            CCNode::visit();
        }    
    }

    接着,打开:

    void Widget::setEnabled(bool enabled)
    {
        _enabled = enabled;
        if(_widgetChildren && _widgetChildren->count() > 0)
        {
            CCObject* child;
            CCARRAY_FOREACH(_widgetChildren, child)
            {
                ((Widget*)child)->setEnabled(enabled);
            }
        }

        setBright( enabled );//增加此行
    }

    再次尝试,问题依然解决了。

    因自己是新手,说不出太多的理所当然来,所以讲参考资料奉上,感谢原作者。

    http://www.bkjia.com/qtjc/744857.html

  • 相关阅读:
    hdu 3951 Coin Game
    hdu 1273 漫步森林
    hdu 2082 找单词
    kmp算法(模板)
    CodeForces 742B Arpa’s obvious problem and Mehrdad’s terrible solution
    大二上每日总结
    大二上每日总结
    大二上每日总结
    大二上学期周总结
    大二上每日总结
  • 原文地址:https://www.cnblogs.com/SkyflyBird/p/4982811.html
Copyright © 2011-2022 走看看