查看: 1537|回复: 0
打印 上一主题 下一主题

[经验分享] NGUI技能冷却CD特效制作

[复制链接]

100

主题

3

听众

7683

积分

高级设计师

Rank: 6Rank: 6

纳金币
2378
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2015-4-16 13:06:24 |只看该作者 |倒序浏览

首先在制作一个sprite命名为skill加一个背景图片,然后再建立一个sprite,选择一个可以挡住skill的背景的图片,然后选择Filled属性(如下图)。然后在Sprite下面建立一个Label用来表示技能的按键快捷键,本例用的是R键。。。如下图

               



因为sprite的图片挡住了skill的图片,所以给sprite的Alpha值调整到半透明,调整在color里面的属性如图(图的左边已经看到了效果);在color的上面有个 Fill Amount属性,这个属性就是负责cd效果的,只要用脚本去调整参数就可以了。


调整的脚本如下


[csharp] view plaincopy


  • using UnityEngine;  
  • using System.Collections;  
  •   
  • public class skill_cd : MonoBehaviour {  
  •   
  •     public int cdtime=2;  
  •     private UISprite sprite;  
  •     private  bool iscolding=false  ;//是否在冷却  
  •   
  •     public   
  •     // Use this for initialization  
  •     void Awake () {  
  •         sprite =transform .Find ("Sprite").GetComponent <UISprite >();  
  •     }  
  •       
  •     // Update is called once per frame  
  •     void Update () {  
  •     if (Input.GetKeyDown (KeyCode.R) &&iscolding ==false  )//按键R  
  •     {  
  •     //释放技能创建粒子系统显示技能特效  
  •         //ui上显示cd效果  
  •         sprite .fillAmount =1;  
  •       iscolding =true;  
  •     }  
  •     if (iscolding ){  
  •         sprite.fillAmount -= (1f / cdtime) * Time.deltaTime;  
  •         if (sprite.fillAmount <= 0.05)  
  •         {  
  •             iscolding = false;  
  •             sprite.fillAmount = 0;  
  •         }  
  •     }  
  •     }  
  • }  


最后只要把脚本拖给Skill然后运行按键盘R键就可以看到效果了。。。如图:



分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-12 21:19 , Processed in 0.085223 second(s), 27 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部