cocoscreator editbox 只允许数字_《Cocos Creator游戏实战》做一个数字调节框

3e07d50ba3430960a1810b8960b85e06.png

当玩家购买道具的时候,一个个买可能会比较麻烦,用数字调节框的话玩家一次性就可以买好几十个了(钱够的话)。

0ea081825c7bd808c621199474bc9f35.png

运行效果如下:

beecf5740535ab2e07f1dbfb69047317.gif

Cocos Creator版本:2.2.0

公号"All Codes"后台回复"数字调节框",获取该项目完整文件。

创建节点

以下是层级管理器截图:

3ebb77a8239612f0b8d3f3c0f97b41e4.png
  1. bg就是一个Sprite类型节点,作为屏幕背景,不用管。
  2. SpinBox是一个Layout类型节点,用来布局输入框和按钮,方向为水平,Resize Mode为CONTAINER。
  3. editbox节点就是编辑器自带的输入框(笔者将PLACEHOLDER_LABEL给删除了),这里给
  4. buttons也是一个Layout类型节点,用来布局up和down两个按钮,方向为垂直,Resize Mode为CONTAINER。
  5. up和down是两个按钮(Label节点已被删除),分别用来调高和调低数字。

给输入框和调高调低按钮加上背景图片后,场景编辑器显示如下:

c9523c9ba3bf345a0daacc1b2eb19c68.png

编写脚本

资源管理器中创建一个名为SpinBox.js的脚本文件,将其挂到SpinBox节点上。

在properties中添加如下属性:

// SpinBox.js

笔者的想法是开发者能够自己设置调节框所允许的最大最小值:

c7bc7b165e1c1c23815a9357ae955137.png

不过笔者这里将输入框最大允许输入的字符个数设为了2,也就是说最大值也就是99了。当然大家可以按照自身情况进行修改:

ab9b770121a5cb3a0ec8a8bda231dcc5.png

输入框一开始应该显示最小值:

// SpinBox.js

因为输入框下的TEXT_LABEL节点默认是不可见的,所以这里要对该节点先进行显示。

以下是调高和调低按钮的事件函数:

// SpinBox.js
  • 如果玩家按下调高按钮,那么首先判断该按钮是否超出最大值,是的话则无效,否则数字加1。
  • 如果玩家按下调低按钮,那么首先判断该按钮是否超出最小值,是的话则无效,否则数字减1。

最后是输入框的两个事件函数:

// SpinBox.js

输入框允许玩家输入任何文本,所以我们应该对文本进行过滤。

  • 当输入开始时(当玩家点击输入框),我们将当前输入框的文本保存在this.temp中。
  • 输入结束后(按下回车或者触摸屏幕其他地方),我们首先判断玩家输入的是不是数字。如果不是,则将文本还原为之前的样子;如果是数字,那么判断是否超出了最大值和最小值,超出的话就将文本直接设置为最大最小值。

记得在属性检查器中添加这两个函数:

f279ab228e8545ab8f44fd02a8d6af59.png

以上代码只是笔者对数字调节框功能的一种想法,大家当然可以自行修改,做出自己想要的功能。

今天教程就到这,希望大家有所收获~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux自动应答,08. 创建 ks.cfg自动应答文件

Kiskstart 安装步骤比较 Cobbler 自动化部署复杂些,众所周知,随着时间推移,行业会逐步的降低软件操作难度以作为软件提升的标志,于是 Cobbler 产生掩盖或者帮操作者完成了许多工作,于是使用就更简单。但是使用 Kisksta…

python类变量共享吗_第7.12节 可共享的Python类变量

第7.12节 可共享的Python类变量一、 引言在上节已经引入介绍了类变量和实例变量,类体中定义的变量为类变量,默认属于类本身,实例变量是实例方法中定义的self对象的变量,对于每个实例都是独有数据,而类变量是该类所有…

为什么一流成功人士的闹钟都定在早晨5:57?

对很多人来说,早晨时分是一天中最匆忙的时段。近年来,我在研究人们如何利用时间的过程中发现,市场上铺天盖地的媒体教你如何利用早晨的时间。 美国国家睡眠基金会发布的一项睡眠调查结果显示,在工作日的早晨,30-50岁的…

命令行小技巧

我们平时使用Linux的时候经常遇到这样一个问题,举例有这样一种情况:执行命令 $ cp /etc/apt/sources.list /etc/apt/sources.list.bak 这里面有个问题,明明 /etc/apt/sources 这几个字都是一样的,为什么要打两遍?这样的…

统计学习导论_统计机器学习之扫盲导论篇

机器学习之扫盲导论篇来都来了,不关注一下吗??人工智能是当下最火的词,而机器学习就是它的灵魂。现在超级多搞金融的人已经用到很深的机器学习模型了,更别提互联网企业的大佬们了,比如:(这是一篇…

linux环境下创建postgis数据库,linux下搭建postgresql、postgis、pg_pathman环境步骤详解...

操作系统:centOS6.6安装postgreSQL9.6.2安装命令:./postgresql-9.6.3-2-linux-x64.run之后按照图形界面操作安装,语言选择zh_CN UTF-8安装geos-3.6.0(会报错,暂时不用管)安装命令:tar xjvfgeos-3.6.0.tar.bz2cd geos-3…

[Abp 源码分析]异常处理

点击上方蓝字关注我们Abp 框架本身针对内部抛出异常进行了统一拦截,并且针对不同的异常也会采取不同的处理策略。在 Abp 当中主要提供了以下几种异常类型:异常类型描述AbpExceptionAbp 框架定义的基本异常类型,Abp 所有内部定义的异常类型都继…

phpstorm设置 打开文件所在目录_PDF文件在线分享并设置打开次数

公司有一些重要的PDF文档,怎么才能防止外泄?如何加密PDF文件防止被人复制了?怎样让PDF不能被别人拷贝啊? 这些问题困扰了一部分想让别人看pdf内容又担心别人泄露的人。本文用maipdf网站的例子来进行设置。首先我们打开maipdf的网站…

荐号 | 11个人工智能与大数据相关的个人、企业优质号

AlphaGo Zero都会自学了,作为刚刚步入AI大门的我们,应该如何选择合适自己的知识平台呢?今天小编为你甄选了几个高质量的技术公众号。 这些号更多的不是讲授枯燥的理论,而是从行业资讯、一线技术、应用案例、职场发展等多个角度分享…

以表达式作为参数传入SQL的存储过程中去

在开发过程中,需要把一句Sql 的expression作为一个参数传入Procedure中去。 在asp.net中,一个Search的动作,把用户所操作的搜索条件写成了一句表达式,现只需要把这句表达式传入存储过程中去,与存储过程中的Sql的Select…

围棋中的数学原理

围棋一向被誉为是人类大脑智慧的专利,围棋的走法,几乎和宇宙中原子数量相同,甚至更多,每回合有250种可能,一盘棋可以长达150个回合,共有1后面再加360个0种下法,这样的计算量,对计算机…

spring boot 缓存_Spring Boot 集成 Redis 实现数据缓存

Spring Boot 集成 Redis 实现数据缓存,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作。在这个例子中我使用的是 Redis,其实缓存类型还有很多,例如 Ecache、Mamercache、Caffeine 等。Redis 简介Redi…

.md是什么文件_Element-UI源码阅读之md显示到页面

入口文件首先,看一个项目的入口,可以从package.json中去看它的运行命令 可以看到dev那行,执行了很多脚本: npm run bootstrap && npm run build:file && cross-env NODE_ENVdevelopment webpack-dev-server --con…

linux误删ssh不上,误删openssh-server删除,复原操作

在别的节点上寻找openssh的程序有哪些:而我的这个节点上只有一个openssh-clines,所以,就先利用了yum install openssh-server进行安装,但是这个安装的是最新的 openssh-server-5.3p1-122.el6.x86_64.rpm,担心集群节点之…

我用 MySQL 干掉了一摞简历

临近过年,疫情又趋于平稳,最近出来面试的人也多了起来,我们公司也在招人。我发现,不少候选人,对数据库的认知还处在比较基础的阶段,以为会写“增删改查”、做表关联就足够了,那些工作中经常出现…

借用虚拟机在真机安装 ubuntu, 亦可安装至移动硬盘

说一下另一种硬盘安装的办法,借用虚拟机装在物理硬盘上,比较变态。0. 适用于机子里已经装了 windows 的朋友安装真正的 Ubuntu ,wubi 不在讨论之列。1. 下载并安装 vmware workstation for windows: [url]http://www.vmware.com/products/ws/…

为什么AI工程师成为当前薪资最高的技术岗位

今年无疑是“人工智能”话题火热指数最高的一年。从腾讯西雅图AI实验室,百度斥资超过200亿投入人工智能研发,再到最近 Google 打算在中国进行AI领域的市场扩张,其母公司 Alphabet 更是在7月便成立专注AI领域的风投机构...全球都在风生水起、将…

spring boot jar包_「Spring Boot 新特性」 jar 大小自动瘦身

自动分析瘦身Spring Boot 项目最终构建处理 JAR 包大小一直是个诟病,需要把所有依赖包内置最终输出可运行的 jar。当然可以使用其他的插件扩展 实现依赖 JAR 和 可运行 jar 分离可以参考 slot-maven-plugin[1], 但此种方法治标不治本并不能减少原有依赖的 JAR 的大小…

linux应用与管理,Linux操作系统应用与管理

本书从实际应用的角度出发,以RedHat Linux 9为操作环境,介绍了使用和管理Linux的各种常规操作和技巧。主要内容包括Linux的安装配置、桌面应用、文件目录管理、用户管理、网络管理、安全管理、进程管理、软件包的安装使用、更新Linux内核以及Linux下Java…

设计模式在项目中的应用案例_设计模式在项目中的应用(初学者版)

文章首发链接:设计模式在项目中的实际应用(应试版)​mp.weixin.qq.com本文适用于设计模式初学者。很多人学习了设计模式,但在项目开发中仍然不知道如何使用;很多小伙伴在课堂上跟着老师稀里糊涂的听了,懂了…