【Unity】【Code】【UI】通用代码库(二)——UI跟随GameProject移动

通用代码库
基于Unity5.6.0f
实现UI跟随物体移动

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

public class UIFllow : MonoBehaviour
{

    public RectTransform Img;

    public Transform Player;

    public Text Txt;

    public GameObject Canves;

    public float offset;

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


        //get ScreenPoint...Important
        Vector2 vec2 = Camera.main.WorldToScreenPoint(transform.position);

        Img.anchoredPosition =
            new Vector2(vec2.x - Screen.width / 2 + 0, vec2.y - Screen.height / 2 + 60); //控制偏移量
        //rectBloodPos.anchoredPosition = vec2 + new Vector2(offstex,offsety);

        //Debug.Log(Player.position);
        offset = Vector3.Distance(Player.transform.position, transform.position);

        Txt.text = offset.ToString("#0.0");

    }

    //超出视野隐藏
    void OnBecameVisible()
    {
        Canves.active = true;
    }

    void OnBecameInvisible()
    {
        Canves.active = false;
    }

需要注意的是:
1.在Unity3D中测试时,需要同时满足物体也出了Scene的窗口,才可以响应OnBecameInVisible。打包成exe出来就没有这个影响。
2.OnBecameVisible和OnBecameInVisible所在的脚本是需要挂在要判断的物体上。
3.用来判断的物体是需要有Renderer Component的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值