CanvasGroupのinteractable


button_interactable_canvas_group_effect

いまさらながらですがCanvasGroup。
いままで、alphaが下層のImageとか(CanvasRendere)に影響して、まとめて透過させることは使ってたけど、interactableも便利。

button_interactable_canvas_group

下層のボタンとか(Selectable)のUIパーツを一気に操作不可にしてくれる。
もちろん、Buttonなどの個別のinteractableは保持しつつ、上層の設定値を優先してくれる。
各UIパーツからは、IsInteractable()メソッドにて上層の設定を含めたものが取得可能。

[unitycsharp]
using UnityEngine;
using UnityEngine.UI;

/// <summary>
/// ボタンのinteractableの情報表示。
/// </summary>
public class ButtonInteractableStatus : MonoBehaviour {
/// <summary>
/// ステータス表示のText。
/// </summary>
[SerializeField]
Text statusTxt;

/// <summary>
/// Button.
/// </summary>
Button button;

/// <summary>
/// Start.
/// </summary>
void Start() {
this.button = this.GetComponent<Button>();
}

/// <summary>
/// Update.
/// </summary>
void Update() {
this.statusTxt.text = "interactable : " + this.button.interactable + "\n"
+ "IsInteractable : " + this.button.IsInteractable();
}
}
[/unitycsharp]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です