因為這幾天工作上的需要,研究了下用UGUI制作新手指引。可以實現(xiàn)這個效果的方法有很多,都用了一遍,最后還是感覺這個方法比較好。我們需要創(chuàng)建一個畫布,然后在畫布下創(chuàng)建需要新手指引用到的按鈕,
然后在需要新手指引的按鈕上加2個組件,一個是 Graphic Raycaster 和Canvas ,Graphic Raycaster是用來是否接受可以交互的,Canvas是改變顯示的,記得我們這里需要一個遮罩,就用一個Image來做吧
然后我們給這個4個按鈕都加上這2個組件,因為這里我是測試所以我需要一運行游戲就有一個按鈕是高亮狀態(tài),所以我這里用代碼控制了下,然后我們這里還需要一個新手指引里面的手勢指示,這個是實例化出來的。
綁定腳本UI控制器里面效果圖
下面是測試代碼:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
public class NewbieGuideTest : MonoBehaviour
{
public bool IsGuider = false;
public Image Instructions;
public List GuideBtn; void Start() { Image go = GameObject.Instantiate(Instructions) as Image; go.transform.SetParent(GuideBtn[0].transform); go.transform.localPosition = Vector3.zero; go.transform.localScale = Vector3.one; //GuideBtn[0].GetComponent().overrideSorting = true; GuideBtn[0].GetComponent().sortingOrder = 4; } public void BeginGuide(int value) { switch (value) { case 0: Destroy(GameObject.Find("InstructionsImage(Clone)")); ChangGuideBtn(value); GenerateInstructions(value); break; case 1: Destroy(GameObject.Find("InstructionsImage(Clone)")); ChangGuideBtn(value); GenerateInstructions(value); break; case 2: Destroy(GameObject.Find("InstructionsImage(Clone)")); ChangGuideBtn(value); GenerateInstructions(value); break; case 3: break; } } public void GenerateInstructions(int value) { Image go = GameObject.Instantiate(Instructions) as Image; go.transform.SetParent(GuideBtn[value+1].transform); go.transform.localPosition = Vector3.zero; go.transform.localScale = Vector3.one; } public void ChangGuideBtn(int value) { GuideBtn[value].GetComponent().overrideSorting = false; GuideBtn[value].GetComponent().sortingOrder = -1; GuideBtn[value + 1].GetComponent().overrideSorting = true; GuideBtn[value + 1].GetComponent().sortingOrder = 2; }}效果圖:其他做法還有 改變深度,方法是SetSiblingIndex 還有一個組件也可以Canvas Group,具體大家可以去看下API,這些組件的用法 。另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。 網(wǎng)站題目:用UGUI制作手游新手指引-創(chuàng)新互聯(lián) 網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/jpdpo.html
void Start()
Image go = GameObject.Instantiate(Instructions) as Image;
go.transform.SetParent(GuideBtn[0].transform);
go.transform.localPosition = Vector3.zero;
go.transform.localScale = Vector3.one;
//GuideBtn[0].GetComponent().overrideSorting = true;
GuideBtn[0].GetComponent().sortingOrder = 4;
}
public void BeginGuide(int value)
switch (value)
case 0:
Destroy(GameObject.Find("InstructionsImage(Clone)"));
ChangGuideBtn(value);
GenerateInstructions(value);
break;
case 1:
case 2:
case 3:
public void GenerateInstructions(int value)
go.transform.SetParent(GuideBtn[value+1].transform);
public void ChangGuideBtn(int value)
GuideBtn[value].GetComponent().overrideSorting = false;
GuideBtn[value].GetComponent().sortingOrder = -1;
GuideBtn[value + 1].GetComponent().overrideSorting = true;
GuideBtn[value + 1].GetComponent().sortingOrder = 2;
效果圖:
其他做法還有 改變深度,方法是SetSiblingIndex 還有一個組件也可以Canvas Group,具體大家可以去看下API,這些組件的用法 。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
公司名稱:四川綿陽平武網(wǎng)站建設工作室 聯(lián)系電話:18980820575
網(wǎng)站備案號:蜀ICP備2024061352號-3
四川平武建站 四川平武網(wǎng)站建設 四川平武網(wǎng)站設計 四川平武網(wǎng)站制作 成都做網(wǎng)站