質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

UI

UIはUser Interfaceの略であり、人間がコンピュータとやりとりをするためのシステムです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

732閲覧

dropdownから項目を選ぶとinputfieldに値が自動入力されるようにするには

ghwchikxpgns

総合スコア5

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

UI

UIはUser Interfaceの略であり、人間がコンピュータとやりとりをするためのシステムです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/11/24 08:39

前提・実現したいこと

順序:

  1. dropdown(Area)から項目を選ぶ
  2. dropdown(Area)から選んだ項目により、

inputfield(Latitude,Longitude)に値が自動入力される

例:

  1. dropdown(Area)から「Sapporo」を選ぶ
  2. inputfield(Latitude,Longitude)に(43.058,141.328)の値が自動入力されるイメージ説明

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class ColorChanger1 : MonoBehaviour 7{ 8 //Dropdownを格納する変数 9 [SerializeField] private Dropdown dropdown; 10 //Cubeを格納する変数 11 [SerializeField] private GameObject cube; 12 13 // Update is called once per frame 14 void Update() 15 { 16 //DropdownのValueが0のとき(未選択) 17 if(dropdown.value == 0) 18 { 19 //何もしない(空欄) 20 } 21 //DropdownのValueが1のとき(札幌) 22 else if(dropdown.value == 1) 23 { 24 //Latitudeに43.058、Longitudeに141.328を入力する 25 } 26 //DropdownのValueが2のとき(仙台) 27 else if (dropdown.value == 2) 28 { 29 //Latitudeに38.262、Longitudeにを入力する 30 } 31 //DropdownのValueが3のとき(東京) 32 else if (dropdown.value == 3) 33 { 34 //Latitudeに35.690、Longitudeに139.760を入力する 35 } 36 } 37}

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

バージョン:Unity 2020.3.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

DropDown UIの 「OnValueChanged」 イベントを利用すれば、理想の動きが可能になるのではないでしょうか。
「OnValueChanged」の欄に呼び出したいメソッドを設定することで、DropDown変更時に処理を呼び出すことが可能です。

[動作例]
動作例

[スクリプトサンプル]
適当なGameObjectに、以下のスクリプトをアタッチ(内容は適宜変更してください)

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class Sample : MonoBehaviour 7{ 8 [SerializeField] private Dropdown dropdown; // ドロップダウンUI 9 [SerializeField] private InputField latitudeField; // インプットフィールドUI 10 [SerializeField] private InputField longitudeField; // インプットフィールドUI 11 12 // 二次元配列を定義 13 private string[,] fieldValue = new string[4, 2]{ 14 { "", "" }, // 選択なし 15 { "43.058", "141.328" }, // 札幌 16 { "38.262", "140.871" }, // 仙台 17 { "35.690", "139.760" } // 東京 18 }; 19 20 21 // DropDownが変更された時呼ぶメソッド(メソッド名は好きな名称で問題なし) 22 public void DropDownChanged() { 23 24 // DropDownが変更されたら 緯度経度を対象のInputFieldに設定 25 latitudeField.text = fieldValue[dropdown.value, 0]; 26 longitudeField.text = fieldValue[dropdown.value, 1]; 27 } 28} 29

[イベント設定例]
上記のサンプルスクリプトが設定されたオブジェクトを、 DropDown UIの 「OnValueChanged」 イベントに設定
サンプル画像

投稿2021/11/24 15:05

編集2021/11/24 15:23
tsuki01

総合スコア1751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ghwchikxpgns

2021/11/24 23:28

上記に書かれた通りにやってみたら上手くいきました。 ありがとうございます。
guest

0

上記に書かれた通りにやってみたら上手くいきました。
ありがとうございます。

投稿2021/11/24 23:29

ghwchikxpgns

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問