WASD控制UI界面血条加减

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界面血条加减的更多相关文章
- Android——控制UI界面
一.使用XML布局文件控制UI界面 res\layout\activity_main.xml代码如下: <FrameLayout xmlns:android="http://schem ...
- 使用XML布局文件和Java代码混合控制UI界面
完全使用Java代码来控制UI界面不仅烦琐.而且不利于解耦:而完全利用XML布局文件来控制UI界面虽然方便.便捷,但难免有失灵活.因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面. 当 ...
- 在代码中控制UI界面
虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全抛弃XML布局文件,完全在Java代码中控制UI界面. 实例:用编程的方式开发UI界面 packa ...
- 控制UI界面
在android中,一共有四种方式. 第一种:使用XML布局文件控制UI界面 关键步骤有2个: 1.在Android应用的res/layout目录下编写,创建一个项目,eclipse会自动生成一个xm ...
- Android控制UI界面
⒈使用XML布局文件控制UI界面[推荐] Android推荐使用XML布局文件来控制视图,这样不仅简单.明了,而且可以将应用的视图控制逻辑从Java或Kotlin代码中分离出来,放入XML文件中控制, ...
- 家庭记账本app进度之ui相关概念控制ui界面与布局管理
ui就是用户界面设计的意思. 首先是view,view相当于窗户上的玻璃. 1.android:id属性.android:id="@+id/user".他的id是user前面的@+ ...
- 使用XML文件和Java代码控制UI界面
Android推荐使用XML文件设置UI界面,然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller,是模型(model)-视图(view)-控制 ...
- Android学习笔记(9):使用XML文件和Java代码控制UI界面
Android推荐使用XML文件设置UI界面.然后用Java代码控制逻辑部分,这体现了MVC思想. MVC全名是Model View Controller.是模型(model)-视图(view)-控制 ...
- 使用xml和java代码混合控制UI界面
main.xml.................... <?xml version="1.0" encoding="utf-8"?> <Li ...
随机推荐
- asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解
从客户端(ftbContent="<P><A href="http://l...")中检测到有潜在危险的 Request.Form 值. 说明: 请求验 ...
- SQL Server主键自动生成_表and存储过程
主键表: CREATE TABLE [dbo].[KEYCODE]( [KeyName] [varchar](12) NOT NULL, [KeyTableName] [varchar](40) NU ...
- javascript 操作符类型隐性转换
javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...
- (转)C#Interface简介
接口:描述可属于任何类或结构的一组相关功能,通过interface关键字来声明:接口只包含方法.委托或事件和属性的签名(接口包含的成员).不能包含字段(因为字段是包含数据的).方法的实现是“继承”接口 ...
- 探讨CMake中关于RPATH的使用
最近研究CMake,发现CMake对于RPATH的管理也非常人性化.官方说法是当动态库的编译也和执行档在同级目录下的时候,CMake会自动给执行档加入适当的RPATH.具体可以通过readelf -d ...
- JQuery学习笔记--01
JQuery使用的话,必做的一下件事就是下载JQuery库,才可以使用下载地址:http://jquery.com/ 下面就是引用JQuery库了: <script type="tex ...
- 三种php连接access数据库方法
种是利用php的pdo,一种是odbc,com接口来与access数据库连接.利用pdo与access数据库连接 $path ="f:fontwww.jb51.netspiderresult ...
- TIOBE.2017.01最新编程语言排行榜
Jan 2017 Jan 2016 Change Programming Language Ratings Change1 1 Java ...
- JQ——选择器
选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id="lastname" 的元素 .class $( ...
- [转载] $\mathrm{Jordan}$标准型的介绍
本文转载自陈洪葛的博客$,$ 而实际上来自xida博客朝花夕拾$,$ 可惜该博客已经失效 $\mathrm{Jordan}$ 标准形定理是线性代数中的基本定理$,$ 专门为它写一篇长文好像有点多余$: ...