コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】チュートリアルなどで特定のボタンのみハイライトして、それ以外のボタンを押せなくすることができる「Unity UI强制引导框」紹介

はじめに

「Unity UI强制引导框」を Unity プロジェクトに導入することで
チュートリアルなどで特定のボタンのみハイライトして、
それ以外のボタンを押せなくすることができるようになります

使用例

f:id:baba_s:20190414111647g:plain

f:id:baba_s:20190414111705g:plain

f:id:baba_s:20190414111721g:plain

使い方

f:id:baba_s:20190414111826p:plain

シーンのキャンバス内に「GuideMask」のオブジェクトを配置します

f:id:baba_s:20190414111845p:plain

「GuideMask」に「Image」の子オブジェクトを配置します
(ハイライトする時に、この Image オブジェクトが表示されます)

using UnityEngine;

public class Example : MonoBehaviour
{
    public RectTransform m_target1;
    public RectTransform m_target2;
    public RectTransform m_target3;

    public void Awake()
    {
        var guideMask = FindObjectOfType<GuideMask>();
        guideMask.Init();
    }

    public void OnGUI()
    {
        if ( GUILayout.Button( "削除" ) )
        {
            GuideMask.Self.Close();
        }
        if ( GUILayout.Button( "Target 1 をハイライト" ) )
        {
            GuideMask.Self.Play( m_target1 );
        }
        if ( GUILayout.Button( "Target 2 をハイライト" ) )
        {
            GuideMask.Self.Play( m_target2 );
        }
        if ( GUILayout.Button( "Target 3 をハイライト" ) )
        {
            GuideMask.Self.Play( m_target3 );
        }
    }
}

あとは上記のようなコードを記述することで使用できます