cocos creator使按钮在不隐藏的情况下,无法被点击 TouchEnable
会了给我评论点赞,听到没有,臭弟弟
需求比较特殊,所以点击完设置
this.bStart.node.off(cc.Node.EventType.TOUCH_END,this.onBtnStart,this);
或设置active
为false
都达不到预期效果,前一种删除事件,后一种隐藏按钮,因为按钮点击还是会有表现(缩放等),看起来很奇怪,不加提示玩家会以为是bug
先说最重要的一点,如果你禁用了想变灰,就需要选择下面这一项
下面分几种情况:
1、如果只是不需要事件响应,如下(在代码中写的监听方法):
this.xxBtn.node.off(cc.Node.EventType.TOUCH_END,this.onBtnDo,this);
- 取消监听器,按钮按下只表现效果,不会有事件
- 或者自己在方法里面判断一下然后return,看情况需不需要做提示
2、把按钮隐藏掉
this.bClose.node.active = false;
- 结合隐藏掉之后自己的页面丑不丑或特殊情况用这种
3、按钮设为不可交互、不可用状态
this.node.getChildByName("xxBtn").getComponent(cc.Button).interactable = false;
或this.xxBtn.interactable=false;
- 第一种,从父节点往下获取,通过名称寻找子节点中的按钮,并设置不可交互
- 第二种方法分两种情况
- 如果是在代码中添加的事件,那只会不表现效果,但事件还是会触发(如果你监听的是TOUCH_END)(更新:我看源码好像修复了)
- 如果是在UI或预制中直接注册
Click Events
,那和第一种结果是一样的