「Unity/TMPro/Dropdown」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
編集の要約なし |
||
| 7行目: | 7行目: | ||
public class SettingScene : MonoBehaviour | public class SettingScene : MonoBehaviour | ||
{ | { | ||
TMP_Dropdown areaDropdown; | |||
List<string> areas; | |||
string area; | |||
void Start() | void Start() | ||
{ | { | ||
| 17行目: | 20行目: | ||
void AreaDropdownInit() | void AreaDropdownInit() | ||
{ | { | ||
areas = new List<string>(); | |||
areas.Add("simple"); | areas.Add("simple"); | ||
areas.Add("sabaku"); | areas.Add("sabaku"); | ||
2024年1月6日 (土) 11:16時点における版
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class SettingScene : MonoBehaviour
{
TMP_Dropdown areaDropdown;
List<string> areas;
string area;
void Start()
{
AreaDropdownInit();
areaDropdown = this.transform.Find("AreaDropdown").GetComponent<TMP_Dropdown>();
areaDropdown.onValueChanged.AddListener(delegate {
AreaDropdownValueChanged(areaDropdown);
});
}
void AreaDropdownInit()
{
areas = new List<string>();
areas.Add("simple");
areas.Add("sabaku");
areas.Add("sushi");
List<TMP_Dropdown.OptionData> optionMessages = new List<TMP_Dropdown.OptionData>();
TMP_Dropdown areaDropdown = this.transform.Find("AreaDropdown").GetComponent<TMP_Dropdown>();
areaDropdown.ClearOptions();
foreach (string area in areas)
{
TMP_Dropdown.OptionData optionData;
optionData = new TMP_Dropdown.OptionData();
optionData.text = area;
optionMessages.Add(optionData);
}
foreach (TMP_Dropdown.OptionData message in optionMessages)
{
areaDropdown.options.Add(message);
}
areaDropdown.value = areas.IndexOf(area);
this.transform.Find("AreaDropdown/Label").GetComponent<TextMeshProUGUI>().text = areas[areaDropdown.value].ToString();
}
void AreaDropdownValueChanged(TMP_Dropdown change)
{
area = areas[change.value];
this.transform.Find("AreaDropdown/Label").GetComponent<TextMeshProUGUI>().text = areas[areaDropdown.value].ToString();
}
}