由于電腦原因不能截圖:有什么問題大家可以QQ聯(lián)系84190933
一嗜侮、首先我們先建立一個Slider方法如下:
在Hierarchy面板下空白地方右擊找到UI 下的Slider璃氢,添加slider
這時你的Hierarchy就會出現(xiàn)Canvas刊棕,點開Canvas你就能看到你所需要的Slider了(我們用slider代替血條)欺缘,然后我們修改下Slider:將Background的Color改為紅色(看起來像血量)
然后將Handle Slide Area刪掉癌佩,
在Project面板下建立Resources文件夾马篮,(重要的事情說三遍粟判,建立Resources文件夾,建立Resources文件夾妖胀,建立Resources文件夾)
將Slider 拖到Project面板下的Resources文件夾里(成為預設體)
隨便建立一個Cube作為你的玩家
二芥颈、然后建立一個C#腳本掛到玩家身上,(作為玩家移動的腳本)
public float MoveSpeed;//移動速度
public?float?RotaSpeed;//旋轉(zhuǎn)速度
void Update ()
{
ver?=?Input.GetAxis?("Vertical");
hor?=?Input.GetAxis?("Horizonal");
transform.Translate?(0,?0,?ver?*?Time.deltaTime?*?MoveSpeed);
transform.Rotate?(0,?hor?*?Time.deltaTime?*?RotaSpeed,?0);
}
重要的環(huán)節(jié)來了赚抡,該寫血條動態(tài)加載的腳本了
將改腳本掛到玩家身上爬坑,注意偏移量呦,讓血條在指定位置出現(xiàn)就是靠偏移量來調(diào)整的
using UnityEngine;
using?System.Collections;
public?class?BloodCtrl?:?MonoBehaviour
{
public?Vector2?vecOffset;//偏移量
private?Vector2?vecPosInScreen;//對象在屏幕中的位置
private?RectTransform?reTrBloodThis;//本對象的血條
void?Start?()
{
//克隆血條涂臣,克隆Resources/Prefabs/BloodSlider盾计,動態(tài)加載
reTrBloodThis?=?Instantiate?(Resources.Load(
"Slider"))?as?RectTransform;
//指定相應的Canvas
reTrBloodThis.SetParent?(
GameObject.Find("Canvas").transform);
//指定大小
reTrBloodThis.localScale?=?Vector3.one;
//顯示出來
reTrBloodThis.gameObject.SetActive?(true);
}//end_Start
void?Update?()
{
//將對象的世界坐標系轉(zhuǎn)為屏幕坐標系
vecPosInScreen?=?Camera.main.WorldToScreenPoint?(
transform.position);
//血條的坐標?=?對象在屏幕中的坐標?+?偏移量
reTrBloodThis.position?=?vecPosInScreen?+?vecOffset;
//如果血條超出屏幕,則隱藏
if?(reTrBloodThis.position.x?<?0
||?reTrBloodThis.position.x?>?Screen.width
||?reTrBloodThis.position.y?<?0
||?reTrBloodThis.position.y?>?Screen.height)?{
reTrBloodThis.gameObject.SetActive?(false);
}?else?{
reTrBloodThis.gameObject.SetActive?(true);
}
}//end_Update
}
建議大家不要直接復制粘貼赁遗,一方面可能報錯署辉,而且不利于你理解,有什么問題可以給我留言岩四,我很喜歡你們提的問題哭尝,尤其是美女呦!F驶汀材鹦!