配列をListに入れたアプリを作っています。
やりたいことは
1)int型の配列を3つListに入れる
2)Debugで最後に入れた配列が表示される
3)ボタン(BacListReturn)を押すと一番最後に入れた
配列が削除されて一つ前の配列がDebugで表示される
です。
しかし実際にやってみるとなぜかボタンを押しても
いつも最後の8,9,10,11が表示されてしまいます。
Listの中身の数は確認すると最初は3つでボタン押すと
一つずつ減ってはいるようです。
ボタンを押したとき4,5,6,7が表示される方法を教えて下さい。
環境)
PC: mac
Unity2018.3.14f1
言語:C#
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BacListScript : MonoBehaviour { int[] TapNum = new int[4]; int[] TapNum2 = new int[4]; int[] TapNum3 = new int[4]; int[] PasteNum = new int[4]; List<int[]> BacList; // Start is called before the first frame update void Start() { TapNum = new int[4]{0,1,2,3}; TapNum2 = new int[4]{4,5,6,7}; TapNum3 = new int[4]{8,9,10,11}; BacList = new List<int[]>(); BacListAction(TapNum); BacListAction(TapNum2); BacListAction(TapNum3); } // Update is called once per frame void Update() { } //BacListに追加するスクリプト void BacListAction(int[] AddList){ for(int i = 0; i < 4; i++){ int copyNum = AddList[i]; PasteNum[i] = copyNum; } BacList.Add(PasteNum); } //BacListから要素を一つ削除して戻る public void BacListReturn(){ BacList.RemoveAt(BacList.Count -1); for(int j = 0; j < 4; j++){ Debug.Log("baclist" + j + ":" + BacList[BacList.Count -1][j]); } } public void CheckList(){ Debug.Log("baclistCount" + BacList.Count); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/25 20:55