美文网首页
unity动态加载血条Ressources.Load

unity动态加载血条Ressources.Load

作者: 吐泡泡的小鲤鱼 | 来源:发表于2017-04-24 18:01 被阅读0次

由于电脑原因不能截图:有什么问题大家可以QQ联系84190933

一、首先我们先建立一个Slider方法如下:

在Hierarchy面板下空白地方右击找到UI 下的Slider,添加slider

这时你的Hierarchy就会出现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;//旋转速度

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);

}

重要的环节来了,该写血条动态加载的脚本了

将改脚本挂到玩家身上,注意偏移量呦,让血条在指定位置出现就是靠偏移量来调整的

using UnityEngine;

using System.Collections;

public class BloodCtrl : MonoBehaviour

{

public Vector2 vecOffset;//偏移量

private Vector2 vecPosInScreen;//对象在屏幕中的位置

private RectTransform reTrBloodThis;//本对象的血条

void Start ()

{

//克隆血条,克隆Resources/Prefabs/BloodSlider,动态加载

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 ()

{

//将对象的世界坐标系转为屏幕坐标系

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

}

建议大家不要直接复制粘贴,一方面可能报错,而且不利于你理解,有什么问题可以给我留言,我很喜欢你们提的问题,尤其是美女呦!!!

相关文章

  • unity动态加载血条Ressources.Load

    由于电脑原因不能截图:有什么问题大家可以QQ联系84190933 一、首先我们先建立一个Slider方法如下: 在...

  • Unity3 d 内存管理

    Unity3 d 内存管理 Unity几种动态加载Prefab方式的差异:其实存在3种加载prefab的方式: 一...

  • Unity动态加载

    StreamAssets文件夹? 答:Unity中的大部分资源在发布时都被整合到工程中,我们不能访问。 但有时我们...

  • Unity加载和内存管理

    Babybus-u3d技术交流-Unity加载和内存管理 [unity里有两种动态加载机制:一是Resources...

  • Unity 学习(基础)

    unity基础学习! 项目基本文件认识,以及技能 Scenes 场景; Resources 动态加载资源文件, ...

  • Unity中 动态加载 Resources.Load()和Ass

    Unity中 动态加载 Resources.Load()和Asset Bundle 的区别 版权声明:本文为博主原...

  • 游戏血条逐渐减少实现

    那天有人问我游戏人物血条如何慢慢减掉。今天写一下吧。首先上个动态图,看效果: 更多内容请关注微公号:unity风雨...

  • u3d 动态lightmap

    Unity3D5.0+动态加载模型和对应LightMap方法http://blog.sina.com.cn/s/b...

  • Unity动态加载Pmx模型

    正在研究中。。。因为原版的mmd插件(除MMD4Mecanim之外的一个很不错的mmd插件)在5.6.1已经无法使...

  • Unity3D-NGUI动态加载图片 - OpLusX

    Unity3D-NGUI动态加载图片 - OpLusXNGUI提供了很方便的UIAtlas,其主要作用是改进Dra...

网友评论

      本文标题:unity动态加载血条Ressources.Load

      本文链接:https://www.haomeiwen.com/subject/xfhpzttx.html