前提・実現したいこと
ここに質問の内容を詳しく書いてください。
UnityでCSVファイルに入れた値を読み込んで敵の動きに当てはめるシステムを作っています。
読み込んだ数値を当てはめる機能を実装中に以下のエラーメッセージが発生しました。
発生している問題
String型から数値として使用できる型(intやfloat型)への変換が出来ない
該当のソースコード
CSV
1敵の種類 出現秒数 出現場所x 出現場所y 出現場所z 2UP 10 17 -5 0 3DOWN 20 17 5 0 4
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using System.IO; 5 6public class SpawnEnemy : MonoBehaviour 7{ 8 private const float spawnRate = 2.0f; 9 private float spawnRealTime = 0; 10 public GameObject enemy; 11 public float dx =17; 12 13 public TextAsset csvFile; 14 List<string[]> csvDatas = new List<string[]>(); 15 16 // Start is called before the first frame update 17 void Start() 18 { 19 string[] lines = csvFile.text.Replace("\r\n", "\n").Split("\n"[0]); 20 foreach (var line in lines){ 21 if (line == "") { continue; } 22 csvDatas.Add(line.Split(',')); 23 } 24 } 25 26 // Update is called once per frame 27 void Update() 28 { 29 spawnRealTime += Time.deltaTime; 30 if (spawnRealTime >= spawnRate) 31 { 32 spawnNewEnemy(); 33 spawnRealTime = 0; 34 } 35 } 36 37 38 void spawnNewEnemy() 39 { 40 41 GameObject newenemy = Instantiate(enemy, new Vector3(dx,0,0), Quaternion.identity); 42 } 43} 44 45
試したこと
int i = int.Parse();
void startに書き込んだこの型にcsvDatasの変数をそのまま入れた
→数値を指定して入れることはできるが読み込んだ数値を纏めて数値化することができない
補足情報(FW/ツールのバージョンなど)
Unity.2020.3.4f
VisualStudio2022
回答1件
あなたの回答
tips
プレビュー