stringに格納されている文字列をfor()構文等を使って短いスクリプトで配列に代入したい
配列に名前を代入して外部スクリプトでもその値を使用できるようにしたいスクリプトとなっております。
こちらのスクリプト動くには動きますが、保守の面から簡易化したいと思っております。
エラーを見るに配列に変数は入らないと言われている模様です。
ご教授いただければ幸いです。よろしくお願い致します。。。
スクリプト概要
using System.Collections; using System.Collections.Generic; using UnityEngine; public class AvatarSaver : MonoBehaviour { //どこで使ってもこの値は変わらないconst private const int partsNum = (int)SkinnedMeshCombiner.MAIN_PARTS.MAX; //各部位の素材 //[SerializeField] private string rootBoneFileName = null; private string FileName1 = "chara_001_avs"; private string FileName2 = "chara_001_head"; private string FileName3 = "chara_001_body"; private string FileName4 = "chara_001_arm"; private string FileName5 = "chara_001_leg"; private ResourceRequest[] resourceReqs = new ResourceRequest[partsNum]; private GameObject player = null; //キャラアセンブルデータ保存用配列 private static string[] assembleData = new string[partsNum]; //ゲーム自体に反映 public static string[] AssembleGlobalData(){ return assembleData; } // Start is called before the first frame update void Start() { assembleData [0] = FileName1; assembleData [1] = FileName2; assembleData [2] = FileName3; assembleData [3] = FileName4; assembleData [4] = FileName5; for (var i = 0; i < partsNum; i++) { //Debug.Log (assembleData [i]); } } // Update is called once per frame void Update() { } }
行いたい処理方法
void Start() { for (var i = 0; i < partsNum; i++) { //↓ここの正しい書き方が分かりません。 assembleData [i] = FileName + i.ToString(); } }
試したこと
「行いたい処理方法の右側」を各種intやstringに変更して書き直しましたが、
上手くいきませんでした。この方法が正しいのかどうかもわかりません。
基本的な事をお聞きして申し訳ございません。
よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー