unity 鼠標(biāo)移入彈出UI的操作
外部調(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ò)誤或未考慮完全的地方,望不吝賜教。
- unity 鼠標(biāo)懸停事件操作
- unity實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)時(shí)ui及物體的變色操作
- Unity 從Resources中動(dòng)態(tài)加載Sprite圖片的操作
- Unity實(shí)現(xiàn)簡(jiǎn)單換裝系統(tǒng)
- Unity實(shí)現(xiàn)換裝系統(tǒng)
- Unity 實(shí)現(xiàn)鼠標(biāo)滑過(guò)UI時(shí)觸發(fā)動(dòng)畫(huà)的操作
- Unity3D 計(jì)時(shí)器的實(shí)現(xiàn)代碼(三種寫(xiě)法總結(jié))
相關(guān)文章
DevExpress實(shí)現(xiàn)TreeList父子節(jié)點(diǎn)CheckState狀態(tài)同步的方法
這篇文章主要介紹了DevExpress實(shí)現(xiàn)TreeList父子節(jié)點(diǎn)CheckState狀態(tài)同步的方法,需要的朋友可以參考下2014-08-08C#通過(guò)yield實(shí)現(xiàn)數(shù)組全排列的方法
這篇文章主要介紹了C#通過(guò)yield實(shí)現(xiàn)數(shù)組全排列的方法,以實(shí)例形式較為詳細(xì)的分析了全排列的概念及C#的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03數(shù)字金額大寫(xiě)轉(zhuǎn)換器制作代碼分享(人民幣大寫(xiě)轉(zhuǎn)換)
一個(gè)人民幣大寫(xiě)的擴(kuò)展方法,可以做成數(shù)字金額大寫(xiě)轉(zhuǎn)換器,大家參考使用吧2013-12-12C#使用OpenCvSharp實(shí)現(xiàn)圖像校正
這篇文章主要為大家詳細(xì)介紹了C#如何使用OpenCvSharp實(shí)現(xiàn)圖像校正功能,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下2023-11-11C#畫(huà)筆使用復(fù)合數(shù)組繪制單個(gè)矩形的方法
這篇文章主要介紹了C#畫(huà)筆使用復(fù)合數(shù)組繪制單個(gè)矩形的方法,涉及C#使用畫(huà)筆繪制圖形的相關(guān)技巧,需要的朋友可以參考下2015-06-06