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. html.ex.day02

    1.同一个目录内页面跳转 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...

  2. 应用app首次进入导航页动画

    import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActi ...

  3. My.Ioc 代码示例——避免循环依赖

    本文的目的在于通过一些示例,向大家说明 My.Ioc 支持哪些类型的依赖关系.也就是说,如何设计对象不会导致循环依赖. 在 Ioc 世界中,循环依赖是一个顽敌.这不仅因为它会导致 Ioc 容器抛出异常 ...

  4. Android开发手记(21) 遍历文件夹

    我们在遍历文件夹的时候由于涉及到SD卡相关操作,所以我们需要添加如下权限: <uses-permission android:name="android.permission.WRIT ...

  5. iOS 中Window优先级的问题

    在项目中,视频播放时候遇到网络切换需要弹出AlertView提醒用户,忽然发现转屏的时候播放View加到KeyWindow的时候把AleryView挡住了.如图 因为转屏的时候视图是直接加载到 [UI ...

  6. 新手对css的浅识

    对于css的一个初步理解与认识 在最近的学习中接触到了之前自己从来都不曾想过的语言,C语言,html超文本标记语言等等,还有今天在这里我要进行分析的css,之前浏览过很多的网页,也曾想过这里面的秘密, ...

  7. 嘟!数字三角形 W WW WWW集合!

    哔!数字三角形全体集合! 数字三角形!到! 数字三角形W!到! 数字三角形WW!到! 数字三角形WWW!到! --------------------------------------------- ...

  8. cocos2d-x 实现沙子特效

    效果图. 说明. 标题取的不好, 原因是我也不知道这效果应该叫什么. 大概效果是这样的, 随着鼠标按下并且移动, 所到之处所有磁铁都将扩散. 就好比鼠标是一个圆形区域去排挤在场的磁铁. 话不多说, 直 ...

  9. 『重构--改善既有代码的设计』读书笔记----Extract Method

    在编程中,比较忌讳的一件事情就是长函数.因为长函数代表了你这段代码不能很好的复用以及内部可能出现很多别的地方的重复代码,而且这段长函数内部的处理逻辑你也不能很好的看清楚.因此,今天重构第一个手法就是处 ...

  10. Tomcat安装阿里云免费证书

    安装证书 Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一.下载包中包含PFX格式证书和密码文件. 1.PFX证书安装 找到安装 Tomcat 目录下该文 ...