ホーリーのプログラミング日記

ホーリーのプログラミング日記

エキセントリック・スーパーアプリクリエイター / アプリ総DL数 約180万 / 全然分からない 俺は雰囲気でアプリを作ってる / iOS : apple.co/3m3HxSm / Android : bit.ly/3ma0liZ

UnityのDropDown(ドロップダウン)で値を取得出来るようになりました

 

命の時間ていうカウントダウンアプリを作ろうとしてるんですが、ユーザーから誕生日を入力してもらう必要があるので、HTMLでいうところのセレクトタグを設けようと思いました。これUnityだとドロップダウンメニューっていうらしいですね。

んで、いつものごとくやり方が分からないので、ググること山の如しですよ。Unityブログの2強ともいえるお二人が書いてらっしゃいました。

 

【Unity開発】uGUIのDropDownの使い方【ひよこエッセンス】 - Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご

【Unity】uGUIドロップダウンメニュー(コンボボックス)の使い方 - テラシュールブログ

 

基本的な使い方はここを参考にすればいいと思うのですが、自分でハマったポイントが2つあります。

 

① 文字がぼやける(滲む)

 

例えばタイトル画面みたいな動かない画面を作るときって、僕はいつもキャンバスを置いて、画面サイズを750*1334にするんですが、そうやってからドロップダウンを置くと、文字がぼやけて表示されました。

 

f:id:gevvoihorry:20170330103846p:plain

f:id:gevvoihorry:20170330103909p:plain

 

これOptionAって書いてるんですけど、全然分からないですよね。

 

UnityではじめるC」って本の中で、脱出ゲームの作り方を紹介しているんですが、その中にこのやり方があるんですよ。キャンバス置いてっていう。

てかこの本で紹介されてる脱出はそうやって作っています。

 

いつもこのやり方をしていたんですが、今回はこれじゃダメでした。

 

キャンパスを先におかずに、ドロップダウンを最初に作れば、普通に表示されました。とりあえずこれでOKってことにしています。

 

② 値の取得の仕方が分からない

 

よく読めば上記したひよこさんのブログに書いてあるんですが、適当に読んでたせいか、値の取得の仕方が分かりませんでした。ドロップダウンの。

 

とりあえずこんなコードを書けばOK。

 

public void OnValueChanged(Dropdown dropdown){
    Debug.Log(dropdown.value);
}

 

これをドロップダウンに設定すれば、値を取得することが出来ます。Dropdown dropdownってところが分からなかったんですよね。int resultみたいな引数を指定していたので、全然取得できずに迷走してしまいました。

詳しくはひよこさんの記事に書いてますので、ご存知でない方は参考にしてみてください。下の方にありますよ。

 

以上、UnityのDropDown(ドロップダウン)で値を取得出来るようになりましたって話でした。