using UnityEngine;
using System.Collections;
using UnityEngine.UI; public class HealthController : MonoBehaviour { //当前对象是血条还是蓝条
public bool isHealth = false;
//虚拟轴,横轴,纵轴
private float hor,ver;
//血条的最大宽度
private float healthMaxWidth = ;
//蓝条的最大宽度
private float powerMaxWidth = ;
//当前的虚拟轴
private float currentAxis;
//当前的最大宽度
private float currentMaxWidth;
//RectTransform组件
private RectTransform rectTr;
//速度
public float speed = ;
//血条文本
public Text healthText;
//蓝条文本
public Text powerText;
//血条蓝条的最大值
public float healthMaxValue = 1000f;
public float powerMaxValue = 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, , currentMaxWidth);
//赋值到RectTransform
rectTr.sizeDelta = new Vector2(realWidth,rectTr.sizeDelta.y);
//计算当前数值
float currentValue = (realWidth / currentMaxWidth) * currentMaxValue;
//转整数操作
currentValue = Mathf.Round (currentValue);
//将数值信息显示到Text
currentText.text = currentValue.ToString () + "/"
+ currentMaxValue.ToString ();
}
}

血条,蓝条对象上都挂上此脚本

WASD控制UI界面血条加减的更多相关文章

  1. Android——控制UI界面

    一.使用XML布局文件控制UI界面 res\layout\activity_main.xml代码如下: <FrameLayout xmlns:android="http://schem ...

  2. 使用XML布局文件和Java代码混合控制UI界面

    完全使用Java代码来控制UI界面不仅烦琐.而且不利于解耦:而完全利用XML布局文件来控制UI界面虽然方便.便捷,但难免有失灵活.因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面. 当 ...

  3. 在代码中控制UI界面

    虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...

  4. 控制UI界面

    在android中,一共有四种方式. 第一种:使用XML布局文件控制UI界面 关键步骤有2个: 1.在Android应用的res/layout目录下编写,创建一个项目,eclipse会自动生成一个xm ...

  5. Android控制UI界面

    ⒈使用XML布局文件控制UI界面[推荐] Android推荐使用XML布局文件来控制视图,这样不仅简单.明了,而且可以将应用的视图控制逻辑从Java或Kotlin代码中分离出来,放入XML文件中控制, ...

  6. 家庭记账本app进度之ui相关概念控制ui界面与布局管理

    ui就是用户界面设计的意思. 首先是view,view相当于窗户上的玻璃. 1.android:id属性.android:id="@+id/user".他的id是user前面的@+ ...

  7. 使用XML文件和Java代码控制UI界面

    Android推荐使用XML文件设置UI界面,然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller,是模型(model)-视图(view)-控制 ...

  8. Android学习笔记(9):使用XML文件和Java代码控制UI界面

    Android推荐使用XML文件设置UI界面.然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller.是模型(model)-视图(view)-控制 ...

  9. 使用xml和java代码混合控制UI界面

    main.xml.................... <?xml version="1.0" encoding="utf-8"?> <Li ...

随机推荐

  1. carousel

    <!DOCTYPE html> <html lang="en" ng-app="mainApp"> <head> <m ...

  2. SQL In的替换

    前2天在搞SQL的的时候,发现其中有很多in的操作,诸如:id in(1,2,3)或id in(select id from table……),这个对SQL来说并不是最好的选择,执行效率是偏低的[它执 ...

  3. windows 8.1 administrator相关设置

    一.windows 8.1 开启administrator用户 windows8.1中文版,由于默认不开启administrator用户,所以需要自己手动开启 启用administrator:在cmd ...

  4. Swift - 31 - 常量参数, 变量参数和inout参数

    //: Playground - noun: a place where people can play import UIKit // swift中默认情况下, 传入的参数是不可以修改的, 也就是l ...

  5. ASP.NET菜鸟之路之登录系统

    背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. 网站介绍 根据书上的例子做了一个比较粗糙的登录例 ...

  6. 动态插入图片到 svg 中

    动态插入图片到 svg 中使用 createElementNS 来创建svg标签,通过setAttributeNS 来设置属性, 要注意两点,创建的时候要有'http://www.w3.org/200 ...

  7. Linux服务器指令

    1.查看cpu信息:/proc/cpuinfo2.查看内存信息:/prco/meminfo3.查看服务器版本信息:cat /etc/issue4.服务器系统位数:uname -a5.网卡信息:ifco ...

  8. linux 进程数

    一.linux系统支持的最大进程数 限制1:既然系统使用pid_t表示进程号,那么最大进程数不能超过pid_t类型的最大值吧 限制2:使用命令ulimit -u查看系统中限制的最大进程数,我的机器上是 ...

  9. Build Android-x86 ICS 4 Virtualbox from Google Virtualbox Target and Intel Kernel 编译体验

    最近一直在研究android源码的编译,应该说研究的很辛苦,最难的是下源码,总是不停的断掉,最后感谢公司的高网速,找到方法后12G的源码只花了1个小时就下完了. 参考以下网址:http://softw ...

  10. JavaScript作用域链详解

    JavaScript的作用域链还是很有味道的,搞懂了这个知识点,闭包的问题也就迎刃而解咯 1.JavaScript的全局变量和局部变量 首先,先来看看js的全局变量和局部变量,js不是块级作用域,所以 ...