Cocos项目中技能冷却效果怎样实现,过程是怎样
Admin 2022-05-25 群英技术资讯 836 次浏览
在很多游戏里面都有技能,玩家在点击技能按钮后技能会有一个冷却的时间,当冷却时间过了之后技能才可以再次使用
在cocos中实现这个效果很简单,需要用到精灵组件
首先将技能按钮的图片拖到canvas下
然后在技能按钮下新建一个label
像这样
然后新建TS脚本把下面的代码复制粘贴进去
const {ccclass, property} = cc._decorator; @ccclass export default class NewClass extends cc.Component { @property(cc.Sprite) skill:cc.Sprite = null;//技能精灵 @property(cc.Label) time_label:cc.Label = null;//显示技能冷却剩余时间的文字 @property time:number = 3;//技能冷却时间 @property isshow_label:boolean = true;//是否显示文字 onLoad(){ this.skill.fillRange = 1;//游戏开始的时候技能的填充范围是1 } update(dt:number){ if(this.skill.fillRange != 1){//如果技能精灵的填充不为1 也就是说已经使用了技能 this.skill.fillRange += dt / this.time;//恢复技能 每帧恢复的值为帧率 / 技能冷却时间 this.time_label.string = Math.floor(((1 - this.skill.fillRange) * this.time)).toString();//每帧更新技能剩余时间 //技能剩余时间首先1 - 技能精灵的填充度再 * 技能冷却时间,最后Math.floor取整 if(this.isshow_label == true){//如果可以显示文字 this.time_label.node.active = true;//显示技能冷却剩余时间 } } if(this.skill.fillRange == 1){//如果技能精灵的填充为1 也就是说技能还没被使用 this.skill.getComponent(cc.Button).interactable = true;//启动按钮 this.time_label.node.active = false;//隐藏技能冷却剩余时间 } } onbtn(){//按下技能按钮时的事件 this.skill.fillRange = 0;//技能填充范围设置为0 console.log("使用了技能");//打印log this.skill.getComponent(cc.Button).interactable = false;//禁用按钮 } }
每一句代码我都写了很详细的注释哦
把写好的脚本挂到技能按钮上,然后绑定节点
可以根据需要随意修改
光写代码是不够的,还需要给技能按钮做一些设置
需要改动sprite(精灵)组件并且给技能按钮添加button(按钮)组件
按照图片调好
最后给技能按钮添加button(按钮)组件
绑定的事件就是onbtn,为了好看再把button组件的Transition改为COLOR
大功告成,这样就可以了
点击运行看一下
真不错
在点击技能按钮的时候想实现什么功能就把代码都放在onbtn里面就可以了
放这里面就可以
比如可以在按下技能按钮的时候播放一个特效动画
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
node的异步机制是基于“事件”的,所有的I/O、网络通信、数据库查询都以非阻塞的方式执行,返回结果由事件循环来处理。Node在同一时刻只会处理一个事件,完成后立即进入事件循环检查后面事件。这样CPU和内存在同一时间集中处理一件事,同时尽量让耗时的I/O等操作并行执行。
这篇文章介绍JavaScript创建修改CAD图形,创建修改CAD图形,一般是基于AutoCAD进行二次开发,ObjectARX是AutoDesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C++为基础的面向对象的开发环境及应用程序接口,能真正快速的访问AutoCAD图形数据库
篇文章主要给大家分享关于JS展开运算符使用的内容,这里介绍了一些JS展开运算符的使用技巧,例如添加属性、合并多个对象、移除对象属性、动态移除属性等等,对新手学习JS展开运算符有一定的帮助,感兴趣的朋友可以参考了解看看。
这篇文章主要为大家详细介绍了JavaScript+html实现前端页面滑动验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章给大家分享的是jQuery实现全选效果的思路和方法。小编觉得挺实用的,因此分享给大家做个参考,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008