unity 鼠標移入彈出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);
}
}
}
補充:Unity鼠標移動到UI按鈕顯示按鈕全稱
在工作中遇到一個問題,就是需要將鼠標移動到按鈕上方后在按鈕旁邊顯示出按鈕全稱,往上查閱資料后發(fā)現(xiàn)大家對OnMouseOver這一接口的調(diào)用討論較多,但是在使用中發(fā)現(xiàn)這一接口適用于擁有碰撞體的gameObject中和GUI組件,對于UI中的組件并沒有用途,因此我首先嘗試了使用GetLocalCorners函數(shù)獲取按鈕的四個頂點坐標再獲取鼠標的坐標進行計算判斷鼠標是否在按鈕區(qū)域內(nèi)。
這種方法可以實現(xiàn)想要的效果。
但是當師傅看了我的代碼后告訴我根本就不用這么麻煩,可以用Event Systems中的接口直接進行實現(xiàn),具體如下:
在頭文件中添加命名空間using EventSystems;
將自己定義的類繼承自這個命名空間中需要的接口,再在類中為繼承的接口添加實現(xiàn):

添加實現(xiàn):

這樣就能實現(xiàn)控制自己需要的文字顯示在一張UI上的圖片上了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
DevExpress實現(xiàn)TreeList父子節(jié)點CheckState狀態(tài)同步的方法
這篇文章主要介紹了DevExpress實現(xiàn)TreeList父子節(jié)點CheckState狀態(tài)同步的方法,需要的朋友可以參考下2014-08-08
C#通過yield實現(xiàn)數(shù)組全排列的方法
這篇文章主要介紹了C#通過yield實現(xiàn)數(shù)組全排列的方法,以實例形式較為詳細的分析了全排列的概念及C#的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
數(shù)字金額大寫轉(zhuǎn)換器制作代碼分享(人民幣大寫轉(zhuǎn)換)
一個人民幣大寫的擴展方法,可以做成數(shù)字金額大寫轉(zhuǎn)換器,大家參考使用吧2013-12-12

