【Unity】パスワード入力パネルを作ってみた-その2-

脱出ゲームに欠かせないパスワード入力のギミックですが、過去にこんな投稿をしています。

【Unity】パスワード入力パネルを作成する方法

上記の記事ではUnityのUI上のパネルにパスワード入力パネルを作りました。

今回はパネルを使わずによりリアルなパスワード入力パネルを作ってみました。

これを作る上で思ったのが3DのTextMeshPro(TMP)がとても便利だということです。

1つ1つのボタンはPrefabにして、ボタンの中にTMPを入れて、文字を表示するようにしています。

ボタンには以下のスクリプトをアタッチします。

自分で設定したい文字列をpublicにおけばいつでもボタン上の英字が変えられるのが便利です。

ボタン入力がされた時に呼ばれる関数は以下の通り。

文字数(index)が4つだったら初期化し、正解チェック用の配列と表示用のテキストに入力された文字を入れるようにしています。

正解チェックは以下のようにしています。

1つでも違っていた時点でfalseを返し、全部合っていたらtrueを返すという実装をすることで、コードが綺麗になりました。

おわり。

ABOUTこの記事をかいた人

のっくん

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog