版主大人好像ui的按钮有问题

似乎按钮设置多了以后回掉函数会乱掉

您好,请问您能提供具体的示例工程么?是否是因为替他按钮由于优先级比较高先接收了事件呢?希望您能提供具体的说明,感谢您对cocostudio的支持。

请问在哪里能设置优先级呢

这是工程文件,每次按下按钮1 按钮4都会响应,其他按钮按完后没有反应

这个问题我也遇到了,我使用的是cocos2d-x2.2版本。
事件的注册代码如下:
UIButton rightbutton = dynamic_cast<UIButton>(operationUI->getWidgetByName(“right_button”));
rightbutton->addPushDownEvent(this,coco_pushselector(CGameSceneWormhole::onRightDown));
rightbutton->addReleaseEvent(this,coco_releaseselector(CGameSceneWormhole::onRightUP));
//rightbutton->addCancelEvent(this,coco_releaseselector(CGameSceneWormhole::onRightUP));
rightbutton->setOpacity(180);

    UIButton *leftbutton = dynamic_cast<UIButton*>(operationUI->getWidgetByName("left_button"));
    leftbutton->addPushDownEvent(this,coco_pushselector(CGameSceneWormhole::onLeftDown));
    leftbutton->addReleaseEvent(this,coco_releaseselector(CGameSceneWormhole::onLeftUp));
    //leftbutton->addCancelEvent(this,coco_releaseselector(CGameSceneWormhole::onLeftUp));
    leftbutton->setOpacity(180);

    UIButton *upbutton = dynamic_cast<UIButton*>(operationUI->getWidgetByName("up_button"));
    upbutton->addPushDownEvent(this,coco_pushselector(CGameSceneWormhole::onUpDown));
    upbutton->addReleaseEvent(this,coco_releaseselector(CGameSceneWormhole::onUpUp));
    //upbutton->addCancelEvent(this,coco_releaseselector(CGameSceneWormhole::onUpUp));
    upbutton->setOpacity(180);

其中只有第一个按钮会打印log

当我按住第一个按钮不放,再按其他按钮的话,也会导致log输出

请不要在同一个位置叠加多个按钮~目前2.x版本事件分发是按照优先级来的,而不是按照渲染顺序。同一个位置一定不要放置多个按钮,这样不仅没有实际效果还影响了具体控制。感谢大家对cocostudio的支持。

。。。我用的是3.0啊,也没有在同一位置上叠加啊。。。

那能否提供一个示例工程呢?
希望大家能提供一个完整的工程以便我们查到问题所在。
感谢大家对cocostudio的支持。

工程太大了,只传编辑器文件行不行

不是同一个位置