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 ...
随机推荐
- Ci 自己的分页类【原创】
这里是自己手写的一个CI分页类的实现 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** ...
- Java对象序列化入门
Java对象序列化入门 关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结.此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制 ...
- mysql set names.
SET NAMES utf8 相当于 SET character_set_client = utf8 --用来设置客户端送给MySQL服务器的数据的 字符集 SET character_set_res ...
- jsp中文乱码终极解决方法(转)
一, 找出问题的根源乱码可能出现的地方: jsp页面中 jsp页面之间相互传参的参数 与数据库中数据的存取 基本归纳为以上几种. 二, 寻找解决方案 出现在jsp页面中,是由于没有设置jsp页面的中文 ...
- c# 使用递归 循环遍历导航树结构 并解析
1.数据书库结构 1 家用电器 0 一级菜单 2 手机.数码.京东通信 0 一级菜单 3 电脑.办公 0 一级菜单 4 家具.家居.厨房 0 一级菜单 5 男装.女装.童装.内衣 0 一级菜单 6 个 ...
- iOS加载启动图的时候隐藏statusbar + 指定启动图显示多少秒
只需需要在info.plist中加入Status bar is initially hidden 设置为YES 补充一下,现在手机越来越快,在6+下面启动图一闪而过,而美工童鞋辛辛苦苦做的图就看不到鸟 ...
- angular.js学习手册(二)
如何使用angularjs? 各个 angular.js 版本下载: https://github.com/angular/angular.js/releases 下载完之后,在你需要使用angula ...
- C语言之头文件,static与const关键字
[前言] 最近几个月在做一个C语言代码重构的项目,过程中也让我对之前在书本上学习到的东西有些补充和巩固,在本博中总结记录下,梳理下零碎的知识点和经验也加深印象,书写是为了更好地思考.平时也都是用印象笔 ...
- 【NEERC 2003】有向图破坏
[题目描述] Alice和Bob正在玩如下的游戏.首先Alice画一个有N个顶点,M条边的有向图.然后Bob试着摧毁它.在一次操作中他可以找到图中的一个点,并且删除它所有的入边或所有的出边. Alic ...
- 浅析a标签的4个伪类 .
关于伪类,大家最熟悉的还是a标签的4个伪类::link 有链接属性时:visited 链接地址已被访问过:active 被用户激活(在鼠标点击与释放之间发生的事件):hov ...