ButtonSafe.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. ////////////////////////////////////////////
  2. // 文件名: ButtonSafe.js
  3. // 创建者: 弹雨11
  4. // 创建日期: 2024-01-22 16:50:25
  5. // 文件描述: 防止button连击多次触发事件, 给每个button控件添加下面的脚本并指定间隔时间即可防止重复点击。
  6. // 改动历史:
  7. ////////////////////////////////////////////
  8. cc.Class({
  9. extends: cc.Component,
  10. properties: {
  11. safeTime: {
  12. default: 1.5,
  13. tooltip: "按钮保护时间,指定间隔内只能点击一次."
  14. }
  15. },
  16. start(){
  17. this.bSchedule = false;
  18. let button = this.getComponent(cc.Button);
  19. if (!button){
  20. return;
  21. }
  22. this.clickEvents = button.clickEvents;
  23. this.node.on('click', ()=>{
  24. // if(this.bSchedule)
  25. // Tool.showTips(`请勿频繁操作`, 1.5);
  26. button.clickEvents = [];
  27. let cb = function(){
  28. button.clickEvents = this.clickEvents;
  29. this.bSchedule = false;
  30. }
  31. if(!this.bSchedule){
  32. this.bSchedule = true;
  33. this.scheduleOnce(cb, this.safeTime);
  34. }
  35. }, this);
  36. }
  37. });