cocos creator使按钮无法被点击、不可用

本文围绕Cocos Creator中让按钮在不隐藏情况下无法被点击展开。因特殊需求,常规设置无法达预期。介绍了几种处理方式,如取消监听器、隐藏按钮、将按钮设为不可交互不可用状态等,并说明了不同情况的具体操作及效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cocos creator使按钮在不隐藏的情况下,无法被点击 TouchEnable


会了给我评论点赞,听到没有,臭弟弟

需求比较特殊,所以点击完设置this.bStart.node.off(cc.Node.EventType.TOUCH_END,this.onBtnStart,this);或设置activefalse都达不到预期效果,前一种删除事件,后一种隐藏按钮,因为按钮点击还是会有表现(缩放等),看起来很奇怪,不加提示玩家会以为是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,那和第一种结果是一样的

维尼聚合工具


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值