深圳网站优化哪家好,怎么搭建app,广州建站哪个济南兴田德润实惠吗,济南建站软件点击上方蓝色字关注我们~当玩家购买道具的时候#xff0c;一个个买可能会比较麻烦#xff0c;用数字调节框的话玩家一次性就可以买好几十个了(钱够的话)。运行效果如下#xff1a;Cocos Creator版本#xff1a;2.2.0后台回复数字调节框#xff0c;获取该项目完… 点击上方蓝色字关注我们~当玩家购买道具的时候一个个买可能会比较麻烦用数字调节框的话玩家一次性就可以买好几十个了(钱够的话)。运行效果如下Cocos Creator版本2.2.0后台回复数字调节框获取该项目完整文件。创建节点以下是层级管理器截图bg就是一个Sprite类型节点作为屏幕背景不用管。SpinBox是一个Layout类型节点用来布局输入框和按钮方向为水平Resize Mode为CONTAINER。editbox节点就是编辑器自带的输入框(笔者将PLACEHOLDER_LABEL给删除了)这里给buttons也是一个Layout类型节点用来布局up和down两个按钮方向为垂直Resize Mode为CONTAINER。up和down是两个按钮(Label节点已被删除)分别用来调高和调低数字。给输入框和调高调低按钮加上背景图片后场景编辑器显示如下编写脚本在资源管理器中创建一个名为SpinBox.js的脚本文件将其挂到SpinBox节点上。在properties中添加如下属性// SpinBox.jsproperties: { textLabel: cc.Label, // 输入框显示文本 min: cc.Integer, // 最小值 max: cc.Integer, // 最大值},笔者的想法是开发者能够自己设置调节框所允许的最大最小值不过笔者这里将输入框最大允许输入的字符个数设为了2也就是说最大值也就是99了。当然大家可以按照自身情况进行修改输入框一开始应该显示最小值// SpinBox.jsonLoad() { // 刚开始显示设置的小值 this.textLabel.node.active true; this.textLabel.string String(this.min);},因为输入框下的TEXT_LABEL节点默认是不可见的所以这里要对该节点先进行显示。以下是调高和调低按钮的事件函数// SpinBox.jsup() { // 调高数字 let temp (Number(this.textLabel.string) 1); if (temp this.max) { return; } else { this.textLabel.string String(temp); }},down() { // 调低数字 let temp (Number(this.textLabel.string) - 1); if (temp this.min) { return; } else { this.textLabel.string String(temp); }},如果玩家按下调高按钮那么首先判断该按钮是否超出最大值是的话则无效否则数字加1。如果玩家按下调低按钮那么首先判断该按钮是否超出最小值是的话则无效否则数字减1。最后是输入框的两个事件函数// SpinBox.jsinputBegin() { // 输入开始 this.temp this.textLabel.string;},inputDone() { // 输入结束 if (isNaN(this.textLabel.string)) { this.textLabel.string this.temp; // 如果输入非数字则数字不变 } else if (Number(this.textLabel.string) this.max) { // 输入数字不能超过最大值 this.textLabel.string String(this.max); } else if (Number(this.textLabel.string) this.min) { // 输入数字不能小于最小值 this.textLabel.string String(this.min); }}输入框允许玩家输入任何文本所以我们应该对文本进行过滤。当输入开始时(当玩家点击输入框)我们将当前输入框的文本保存在this.temp中。输入结束后(按下回车或者触摸屏幕其他地方)我们首先判断玩家输入的是不是数字。如果不是则将文本还原为之前的样子如果是数字那么判断是否超出了最大值和最小值超出的话就将文本直接设置为最大最小值。记得在属性检查器中添加这两个函数以上代码只是笔者对数字调节框功能的一种想法大家当然可以自行修改做出自己想要的功能。今天教程就到这希望大家有所收获~