效果如下图
当数字按钮被点击后,输入到最后一位时候,会触发“进入房间”事件。
当输入满6位后,在点击任何数字,不会再次触发“进入房间”事件。
点击删除,删除一位数字,点击重输,清空当前输入的数字。
其实逻辑挺简单,利用 javascript的 Array数据类型。
//这是核心逻辑了。
onNumBtnClick:function(event){
cc.log(event.node.name);
switch(event.node.name){
case "btnClose":
break;
case "btnReInput":
this.num.splice(0,6);
break;
case "btnDelete":
this.num.pop();
cc.log(this.num);
break;
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
if(this.num.length>=6){
break;
}
this.num.push(parseInt(event.node.name));
cc.log(this.num);
if(this.num.length>=6){
cc.log("进入房间");
break;
}
break;
default:
break;
}
for(let i = 0;i < 6;i++){
this.roomNums[i].string = ""+this.num[i];
if(this.num[i]== null){
this.roomNums[i].node.active = false;
}else{
this.roomNums[i].node.active = true;
}
}
}
挺简单 ,记录下。
https://www.cnblogs.com/sharpest/p/8124881.html