パスワード入力機能を作成してみました。

動画のようにパソコンがタッチされるとパスワード入力画面が出現するようにしました。
パネルの中に画像やテキストを並べて作成しています。

public class PasswordPanel : MonoBehaviour { // パスワード入力を入れる配列 int[] pwArray; //答えを入れる配列 int[] correct = new int[] { 1, 2, 3, 0 }; // 画像の配列 public Image[] buttons; // 画像ソースの配列 public Sprite[] sprites; // タイトルメッセージ public Text message;
各ボタンの初期設定画像(0の画像)、スプライト(0~3の画像ソース)を配列で宣言して保存し、UnityのInspectorで下記のように初期値を設定します。

ボタンが押されたときの処理onClickPasswordを以下のように作成しました。
// パスワードボタンが押されたら呼ばれる。positionはボタン番号を表す。 public void onClickPassword(int position) { Debug.Log("password" + position); changeNumber(position); showNumber(position); } // 管理している番号を+1する。 void changeNumber(int position) { int tmp = pwArray[position]; tmp++; tmp %= 4; pwArray[position] = tmp; Debug.Log(position + "::" + tmp); } // 画像を変更する。 void showNumber(int position) { int tmp = pwArray[position]; buttons[position].sprite = sprites[tmp]; }
4つある各ボタンのOn Clickに上で作成したonClickPasswordを設定します。

引数には0~3が入り、ボタン番号を表します。
最後にEnterボタンが押された時に答え合わせをします。

//エンターボタンが押されたら呼ばれる public void onClickEnter() { // using System.Linq;が必要。 if (pwArray.SequenceEqual(correct)) { message.text = "OK!!!!!"; } else { message.text = "間違っています!!!"; } }
配列の比較ができるLinqのSequenceEqualを使うと4桁パスワードの答え合わせができます。
便利ですね。
終わり。
追記:よりリアルな物も作ってみました。