【游戏技术群】959392658  【游戏出海群】12067810
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

首页   >   博客   >   随幻Kaller

Unity 3D 游戏中实现人物头上血条(血条是在 overlay 的 canvas 下) ... ... 热度 3

个人分类: Unity脚本 | 2018-3-29 23:22
标签:Unity
0 个评论 | 阅读 840 | 收藏 | 举报
之前做到最简单的血条的时候 实现方法有很多 其中一个就是网上烂大街的方法  canvas 用 worldspace 模式
然后下面的 UI 角度一直跟随摄像机
其实我觉得 UI 放到 UI 界面中处理比较好
而且 UI 一直朝向我们 不用考虑其他问题
先附上代码:

[code]csharpcode:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class BloodScript : MonoBehaviour
{
    public Image blood;
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

        if (blood != null)
        {
            blood.fillAmount -= Time.deltaTime / 50.0f;
            blood.gameObject.transform.position = Camera.main.WorldToScreenPoint(transform.position);


        }
    }
}
将这个脚本挂到一个物体上 然后Blood 是UI中的血条(Image)
Blood 是放到Canvas(overlay模式)下的 Image(调成 Filled)
然后可以看到血条一直跟随着物体

2D 中 用 localPosition
然后用计算后的点 -= new Vector3(screenWidth / 2.0f, screenHeight / 2.0f, 0);

3 0

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册帐号

个人分类

标签

阅读排行

评论排行

推荐博客

最新博客

返回顶部