1つのスクリプトで2つのセレクト画面を動かしたいです。
ゲームセレクト画面 ゲーム数が多くなり2つにわけることにしました。
1~18面あるゲームを2つの画面にわけて、順番にボタンを有効したいです。
⓵1つ目 ゲーム画面1 セレクトボタン 12個 1~12
⓶2つ目 ゲーム画面2 セレクトボタン 6個 13~18
⓵と⓶のスクリプトは1つ 貼り付けコードです。
1がクリアーできたら2のボタンが有効になるコードです。しかし、
1と13が同じ1面と認識され 2と14が同じと認識され、 本来12がクリアーしたら13に
なるようにしたいのですがうまくいきません。
共通のスクリプトを使い1から順番にボタンを有効にしたいです。
現在 苦肉の策でゲーム画面1 は 13~18ボタンをつくりフレーム外においております。
ゲーム画面2 は 1~12ボタンをつくりフレーム外に置いております。
表面上は順番にゲームができますが プログラム的に直したいと思います。
またはゲーム画面2を違うスクリプトで動かしても良いです。 1を参照するコード等・・・
コード
using
1using UnityEngine.UI; 2using System.Collections; 3 4using UnityEngine.SceneManagement; 5 6public class StageSelectManager : MonoBehaviour { 7 8 public GameObject[] stageButtons; //ステージ選択ボタン配列 9 10 // Use this for initialization 11 void Start () { 12 //どのステージまでクリアしているのかをロード(セーブ前なら「0」) 13 int clearStageNo = PlayerPrefs.GetInt ("CLEAR", 0); 14 15 //ステージボタンを有効化 16 for (int i = 0; i <= stageButtons.GetUpperBound (0); i++) { 17 bool b; 18 19 if (clearStageNo < i) { 20 b = false; //前ステージをクリアしていなければ無効 21 } else { 22 b = true; //前ステージをクリアしていれば有効 23 } 24 25 //ボタンの有効/無効を設定 26 stageButtons [i].GetComponent<Button> ().interactable = b; 27 } 28 } 29 30 // Update is called once per frame 31 void Update () { 32 33 } 34 35 //ステージ選択ボタンを押した 36 public void PushStageSelectButton (int stageNo) { 37 //ゲームシーンへ 38 //SceneManager.LoadScene ("PuzzleScene" + stageNo); 変更前 39 FadeManager.Instance.LoadScene (("PuzzleScene"+ stageNo), 1.0f); //変更 40 //PlayerPrefs.DeleteAll();//初期化 41 } 42} 43 44 45 46 47 48 49コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/27 03:49