UnityではiOS標準のアラートを出してくれるプラグインはあるのですが、iPhone向けにコンパイルしないと検証できなかったりと少しめんどくさいです。
そこで完全自作でポップアップを作ってみます。
コードは以下のようになります。
var skin : GUISkin; var isPopupShown = false; function OnGUI () { if (GUI.Button(Rect(100, 100, 100, 100), "popup", skin.button)) { isPopupShown = true; } if (isPopupShown) { var x = (Screen.width - 200) / 2; var y = (Screen.height - 200) / 2; GUI.Box(Rect(x, y, 200, 200), "削除して宜しいですか?"); if (GUI.Button(Rect(x + 50, y + 70, 100, 50), "はい")) { isPopupShown = false; }; if(GUI.Button(Rect(x + 50, y + 130, 100, 50), "いいえ")) { isPopupShown = false; }; } }
実行結果は以下の通りです。
外枠はGUI.Boxで作っています。
中身はGUI.Buttonです。
isPopupShown
という変数を使っていますが、これはポップアップ表示状態を維持する為のものです。
フラグを使わずにif (GUI.Button(Rect(100, 100, 100, 100), "popup", skin.button))
の中でポップアップ生成処理を書けば良さそうに見えるのですが、OnGUIは毎秒何回も呼ばれるのでそれだと一瞬でポップアップが消えてしまいます。