質問: RuntimePlatform.Android) { if (Input.GetKey(KeyCode.Escape)) { if(MyCanvas.IsActive ("ScrollController")){//アクティブなら Debug.Log("ScrollController"); MyCanvas.SetActive ("ScrollController", false);//非アクティブに }else if(MyCanvas.IsActive ("ScrollController2")){//アクティブなら Debug.Log("ScrollController2"); MyCanvas.SetActive ("ScrollController2", false);//非アクティブに }else if(MyCanvas.IsActive ("AboutPanel")){//アクティブなら Debug.Log("AboutPanel"); MyCanvas.SetActive ("AboutPanel", false);//非アクティブに }else { Debug.Log("Quit"); Application.Quit(); } } } } ```
回答: Input.GetKey はキーを押してるあいだ何度も true になってしまいます。 意図する動作(バックボタンを1回押したら1回処理)にしたい場合は Input.GetKeyDown を使います。 他にも、キーを離した時に1回 true になる Input.GetKeyUp というのもあるので 必要に応じて使い分けするのがいいと思います。