- 📢博客主頁:https://blog.csdn.net/zhangay1998
- 📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!
- 📢本文由 呆呆敲代碼的小Y 原創,首發于 CSDN🙉
- 📢未來很長,值得我們全力奔赴更美好的生活?
- 🎬學會如何在Unity專案中改變 滑鼠樣式 !
- 📢前言
- 🏳??🌈第一種方式:在編輯器中修改滑鼠樣式
- 修改圖片樣式
- 修改滑鼠樣式
- 🏳??🌈第二種方法:通過代碼進行修改
- 核心代碼釋義
- 實體代碼操作
- 👥總結
🎬學會如何在Unity專案中改變 滑鼠樣式 !
📢前言
- 我們在游戲中經常會看到游戲內的滑鼠會有自己的一個圖片樣式
- 這樣在玩游戲的時候也會更能融入到游戲中去
- 所以這一篇文章就來講一下怎樣在Unity中修改滑鼠的樣式的
🏳??🌈第一種方式:在編輯器中修改滑鼠樣式
- 這一種方式超級簡單,改完之后在Unity的Game視圖中,滑鼠就會變成我們修改的樣式
- 無論程式是否啟動,滑鼠樣式都會變成我們設定的樣式
一起里看一下吧!
修改圖片樣式
- 首先我們需要一個圖片來代替默認的滑鼠樣式
- 那就在網上隨意找一個自己看著順眼的來試一下吧!

- 比如上面我找了幾個圖片,然后匯入到Unity中,會發現圖片默認是Default格式的
- 這個格式是不行的,要進行處理,將這幾張圖片全改為Cursor格式
- 修改方法:選中圖片,然后在屬性面板上將Texture Type改為Cursor,如下圖所示
- 改完之后記得點一下右下角的Apply就好了!

修改滑鼠樣式
在Edit->Project Setting->Player->Default Cursor中設定,將更改好的圖片拖拽賦值即可
如下圖所示:

- 只需要改這一個地方,再回到Game視圖將滑鼠移動上去就會發現滑鼠樣式已經改為我們設定的圖片了!
- 如下圖所示,只會在Game視圖發生變化,其他地方還是原來的樣式!

🏳??🌈第二種方法:通過代碼進行修改
- 第一種修改方法確實很簡單,但是缺少一定的實用性效果
- 因為他只能保持一種樣式,并不能在一定情況下修改樣式,所以我們就需要在代碼中進行修改樣式
核心代碼釋義
核心代碼也很簡單,就下面這一行:
Cursor.SetCursor(cursorTexture1, Vector2.zero, CursorMode.Auto);
方法中的引數分別是:
- Texture2D texture, //要替換的游標圖片
- Vector2 hotspot, // 回應區域 (vector2.zero)
- CursorMode cursorMode//渲染形式,auto為平臺自適應顯示
只要在想要修改滑鼠樣式的時候呼叫這一行代碼,將里面的第一個引數賦值成我們想要的圖片樣式就好了!
實體代碼操作
知道了修改方法,我接下來直接上一個完整代碼看一下效果
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Test1 : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerUpHandler, IPointerDownHandler
{
public Button _btn1;
public Texture2D cursorTexture1;//要替換的游標圖片1
public Texture2D cursorTexture2;//要替換的游標圖片2
public Texture2D cursorTexture3;//要替換的游標圖片3
Texture2D t1;
private void Awake()
{
_btn1.onClick.AddListener(() => { Cursor.SetCursor(cursorTexture3, Vector2.zero, CursorMode.Auto); });
}
//滑鼠進入3D物體后執行
void OnMouseEnter()
{
Cursor.SetCursor(cursorTexture1, Vector2.zero, CursorMode.Auto);
}
//滑鼠離開3D物體后執行
void OnMouseExit()
{
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}
//滑鼠進入UI后執行
public void OnPointerEnter(PointerEventData eventData)
{
Cursor.SetCursor(cursorTexture1, Vector2.zero, CursorMode.Auto);
}
//滑鼠離開UI后執行
public void OnPointerExit(PointerEventData eventData)
{
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}
//在UI中滑鼠點擊后執行
public void OnPointerDown(PointerEventData eventData)
{
Cursor.SetCursor(cursorTexture2, Vector2.zero, CursorMode.Auto);
}
//在UI中滑鼠抬起后執行
public void OnPointerUp(PointerEventData eventData)
{
Cursor.SetCursor(cursorTexture1, Vector2.zero, CursorMode.Auto);
}
}
-
將該腳本掛載到想要改變樣式的UI上和一個3D物體上,然后將圖片拖上去即可
-
這里注意,圖片的樣式還是Cursor才行!

-
我在代碼中添加了幾個滑鼠的介面,分別是滑鼠進入UI、離開UI、滑鼠點擊和抬起后的回呼方法!
-
然后在不同的回呼進行不同的滑鼠樣式切換就好了,下面來看一下實際效果:

- 可以看到默認是白色的,這是第一種方法中設定的,
- 然后進入到下面的UI中就會變成黃色,在該UI中按下滑鼠就會變成綠色
- 進入3D物體Cube后也會變成黃色,點擊測驗按鈕就會變成藍色
- 這都是在代碼中設定的,可以按照自己的需求修改即可!
👥總結
- 本篇文章用兩種方法介紹了怎樣在Unity中修改滑鼠的樣式
- 以及寫了一個簡單的實體來看一下效果,在實際專案開發中還是會用到的!
- 今天的小技巧你學會了嗎!有用的話記得三連支持一下嗷~

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290965.html
標籤:其他
下一篇:簡單幾步教你學廢三子棋!!!
