初級講座
未分類
Prefabで生成したオブジェクトを他のオブジェクトの子にする
// 移動させたい親オブジェクトをUnity側のInspectorから予め設定しておく [SerializeField] GameObject cnv; (中略) room[y, x] = Instantiate((GameObject)Resources.Load("Prefabs/Dungeon/Room")).GetComponent<CRoom>(); room[y, x].transform.SetParent(cnv.transform);
Rayを使ってオブジェクトを取得
[SerializeField] Camera MainCamera; (中略) Ray ray = MainCamera.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, 100.0f)) { Debug.Log(hit.collider.gameObject.name); }
※
ファイル操作
csvファイルを読み込む
前提:
csvファイルは ****\Assets\Resources\csv\ に置く。
※csvフォルダに置くのは任意。分かりやすいのでこうしてる。Resourcesフォルダに置くのはMUST。
// CSVの中身を入れるリスト using System.IO; // StringReader を使用するための宣言 (中略) List<string[]> FloorData = new List<string[]>(); (中略) TextAsset csvFile = Resources.Load("csv/map/" + "001") as TextAsset; /* Resouces/CSV下のCSV読み込み */ StringReader reader = new StringReader(csvFile.text); while (reader.Peek() > -1) { string line = reader.ReadLine(); FloorData.Add(line.Split(',')); // リストに入れる }
●Unity側でcsvが読めない(範囲外アクセス)と言われるときは
該当のcsvファイルをUnityの下画面をクリックすると、空っぽに見えてるはず
そんなときは、csvの文字コードをUTF-8にする