首页 > 代码库 > 技能CDDemo(点击鼠标左键实现技能界面旋转)
技能CDDemo(点击鼠标左键实现技能界面旋转)
using UnityEngine; using System.Collections; using UnityEngine.UI; public class HealthController : MonoBehaviour { //当前对象是血条还是蓝条 public bool isHealth = false; //虚拟轴,横轴,纵轴 private float hor,ver; //血条的最大宽度 private float healthMaxWidth = 470; //蓝条的最大宽度 private float powerMaxWidth = 425; //当前的虚拟轴 private float currentAxis; //当前的最大宽度 private float currentMaxWidth; //RectTransform组件 private RectTransform rectTr; //速度 public float speed = 100; //血条文本 public Text healthText; //蓝条文本 public Text powerText; //血条蓝条的最大值 public float healthMaxValue =http://www.mamicode.com/ 1000f; public float powerMaxValue =http://www.mamicode.com/ 500f; //当前的条的最大值 private float currentMaxValue; //当前修改的文本显示框 private Text currentText; void Start() { rectTr = GetComponent<RectTransform> (); } void Update() { hor = Input.GetAxis ("Horizontal"); ver = Input.GetAxis ("Vertical"); //如果是血条 if (isHealth) { currentAxis = hor; currentMaxWidth = healthMaxWidth; currentText = healthText; currentMaxValue = healthMaxValue; } //如果是蓝条 else { currentAxis = ver; currentMaxWidth = powerMaxWidth; currentText = powerText; currentMaxValue = powerMaxValue; } //根据用户的操作,计算当前条的宽度 float newWidth = rectTr.sizeDelta.x + currentAxis * Time.deltaTime * speed; //限制宽度 float realWidth = Mathf.Clamp (newWidth, 0, currentMaxWidth); //赋值到RectTransform rectTr.sizeDelta = new Vector2(realWidth,rectTr.sizeDelta.y); //计算当前数值 float currentValue = http://www.mamicode.com/(realWidth / currentMaxWidth) * currentMaxValue; //转整数操作 currentValue =http://www.mamicode.com/ Mathf.Round (currentValue); //将数值信息显示到Text currentText.text = currentValue.ToString () + "/" + currentMaxValue.ToString (); } }
技能组件界面 ImageType是Filled类型 数值是1与脚本里面初始值一致,脚本控制其数字从1-0减小调整白色画布填充,达到有技能冷却效果。
技能CDDemo(点击鼠标左键实现技能界面旋转)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。