using System.Collections; using System.Collections.Generic; using UnityEngine; public class Map7_text : MonoBehaviour { [SerializeField] private TextAsset textFile; private string[] textData; private string[,] dungeonMap; private int tateNumber; // 行数に相当 private int yokoNumber; // 列数に相当 [SerializeField] private GameObject wallPrefab; [SerializeField] private GameObject ballPrefab; [SerializeField] private GameObject coinPrefab; private void Start() { string textLines = textFile.text; // テキストの全体データの代入 print(textLines); // 改行でデータを分割して配列に代入 textData = textLines.Split('\n'); // 行数と列数の取得 yokoNumber = textData[0].Split(',').Length; tateNumber = textData.Length; print("tate" + tateNumber); print("yoko" + yokoNumber); // 2次元配列の定義 dungeonMap = new string[tateNumber, yokoNumber]; for(int i = 0; i < tateNumber; i++) { string[] tempWords = textData[i].Split(','); for(int j = 0; j < yokoNumber; j++) { dungeonMap[i, j] = tempWords[j]; if(dungeonMap[i,j] != null) { switch (dungeonMap[i,j]) { case "w": Instantiate(wallPrefab, new Vector3(-4.5f + j, 0.5f, 4.5f - i), Quaternion.identity); break; case "b": Instantiate(ballPrefab, new Vector3(-4.5f + j, 0.5f, 4.5f - i), Quaternion.identity); break; case "c": Instantiate(coinPrefab, new Vector3(-4.5f + j, 0.5f, 4.5f - i), Quaternion.Euler(90, 0, 0)); break; } } } } } }
*テキストデータ