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 ...
随机推荐
- qq第3方登录的JS实现方式记录
首先申请qq第3方登录接入的appkey和appid,具体方式http://wiki.connect.qq.com/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_oauth ...
- java直接输出Excel 页面实现下载
public String excelDomnload() throws Exception{ try{ /* String path = GlobalKeys.getFunctionConfig(& ...
- C# DateTime.Now
//2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...
- jvm-初探
目录 1,Java体系结构 2.jvm执行引擎 3,ClassLoader的体系结构 4,java class文件 概述 其实,学java不算新手了,但是却感觉很多基本的知识,我们一开始也许是记住而不 ...
- UIGestureRecognizer手势识别
UIGestureRecognizer 1.#import "ViewController.h"2.3.@interface ViewController ()<UIGest ...
- 【USACO 2.3.2】奶牛家谱
[题目描述] 农民约翰准备购买一群新奶牛.在这个新的奶牛群中,每一个母亲奶牛都生两小奶牛.这些奶牛间的关系可以用二叉树来表示.这些二叉树总共有N个节点(3 <= N < 200).这些二叉 ...
- Linux CentOS6.4下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
- C# 判断字符串是否可以转化为数字
C# 判断字符串是否可以转化为数字 /// <SUMMARY> /// 判断字符串是否可以转化为数字 /// </SUMMARY> /// <PARAM name=&qu ...
- 二分查找里的upper bound与lower bound的实现与分析
1. 问题引入 最近参选了学堂在线的课程数据结构(2015秋).课程由清华大学的邓俊辉老师主讲,在完成课后作业时,遇到了这样一个题目范围查询.在这个题目中,我需要解决这样一个子问题:给定了一组已经排好 ...
- git log友好显示
查看commit 提交日志 $ git log $git log --pretty=oneline $git reflog 显示所有提交记录,包括已经回退的提交,如图:提交了abc 和 bb 然后回退 ...