亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

unity 鼠標(biāo)移入彈出UI的操作

 更新時(shí)間:2021年04月10日 15:42:39   作者:玉速林瘋  
這篇文章主要介紹了unity 鼠標(biāo)移入彈出UI的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

外部調(diào)用 show 和Hide方法

using DG.Tweening;
using UnityEngine;
using UnityEngine.UI;
public class ShowInfo : MonoBehaviour {
    private bool _isshowing = false;
    public Canvas Canvas;
    // Use this for initialization
    void Start()
    {
        Hide();
    }
    // Update is called once per frame
    void Update()
    {
    }
    public void Hide()
    {
        transform.DOScale(Vector3.zero, 0.3f);
        _isshowing = false;
    }
    public void Show()
    {
        transform.DOScale(Vector3.one, 0.3f);
        _isshowing = true;
    }
    void FixedUpdate()
    {
        if (_isshowing)
        {
            Vector2 localPoint = Input.mousePosition - new Vector3(Screen.width * 0.5f, Screen.height * 0.5f);
            Vector3 pos = (localPoint / Canvas.transform.localScale.x);
            pos.x += 10f;
            transform.DOLocalMove(pos, 0.01f);
        }
    }
}

補(bǔ)充:Unity鼠標(biāo)移動(dòng)到UI按鈕顯示按鈕全稱

在工作中遇到一個(gè)問(wèn)題,就是需要將鼠標(biāo)移動(dòng)到按鈕上方后在按鈕旁邊顯示出按鈕全稱,往上查閱資料后發(fā)現(xiàn)大家對(duì)OnMouseOver這一接口的調(diào)用討論較多,但是在使用中發(fā)現(xiàn)這一接口適用于擁有碰撞體的gameObject中和GUI組件,對(duì)于UI中的組件并沒(méi)有用途,因此我首先嘗試了使用GetLocalCorners函數(shù)獲取按鈕的四個(gè)頂點(diǎn)坐標(biāo)再獲取鼠標(biāo)的坐標(biāo)進(jìn)行計(jì)算判斷鼠標(biāo)是否在按鈕區(qū)域內(nèi)。

這種方法可以實(shí)現(xiàn)想要的效果。

但是當(dāng)師傅看了我的代碼后告訴我根本就不用這么麻煩,可以用Event Systems中的接口直接進(jìn)行實(shí)現(xiàn),具體如下:

在頭文件中添加命名空間using EventSystems;

將自己定義的類繼承自這個(gè)命名空間中需要的接口,再在類中為繼承的接口添加實(shí)現(xiàn):

添加實(shí)現(xiàn):

這樣就能實(shí)現(xiàn)控制自己需要的文字顯示在一張UI上的圖片上了。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

最新評(píng)論