Unityで、Toggleオプションバーを選択してテキストを明暗に変更する方法

Unityで、Toggleオプションバーを選択してテキストを明暗に変更する方法

以前にUnityのUGUIを学習したときに問題が発生しました。Toggleコンポーネントのオプションバーのタイトルをオプションバーの選択に従わせて、オプションバーと同期して明暗(スイッチ)交換を行う方法です。

私はインターネットで同様の質問をたくさん検索して答えを得ましたが、結果はすべて、Toggleを使用して選択機能を備えたオプションバーを作成する方法を教えています。後で、私はゆっくりと方法を見つけました
。ToggleコンポーネントのIsOnプロパティをリアルタイムで監視できる限り、同期はそれほど問題にはなりません。

void Update()
    {
    
    
        Tg.onValueChanged.AddListener((bool isOn)=>OnToggleClick(Tg, isOn));
    }//用Toggle.onValueChanged.AddListener来实现实时监听。

テキストの変更については、関数内でテキストのRGBを調整することを検討するか、私のように検討することができます。

public void OnToggleClick(bool value)
    {
    
    
        if(value)
        {
    
    
            SelectText.SetActive(true);
            NomalText.SetActive(false);
        }
        else
        {
    
    
            SelectText.SetActive(false);
            NomalText.SetActive(true);
        }
    }

ここに画像の説明を挿入

2つのテキストを作成します。1つは通常の(選択されていない)状態のタイトルで、もう1つは選択された状態のタイトルです。同じ位置に配置し、SetActiceメソッドを使用して切り替えます。

全体的なコードは次のとおりです。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TextToggle : MonoBehaviour
{
    
    
    public GameObject Tab;
    public GameObject NomalText;
    public GameObject SelectText;

    private Toggle Tg;
    private bool isOn;
    void Start()
    {
    
    
        Tg =  Tab.gameObject.GetComponent<Toggle>();
    }

    void Update()
    {
    
    
        Tg.onValueChanged.AddListener((bool isOn)=>OnToggleClick(isOn));
    }

    public void OnToggleClick(bool value)
    {
    
    
        if(value)
        {
    
    
            SelectText.SetActive(true);
            NomalText.SetActive(false);
        }
        else
        {
    
    
            SelectText.SetActive(false);
            NomalText.SetActive(true);
        }
    }
}

おすすめ

転載: blog.csdn.net/Nanceker/article/details/115335657