【3Dゲームエンジン】Unity質問スレッド25at GAMEDEV
【3Dゲームエンジン】Unity質問スレッド25 - 暇つぶし2ch564:名前は開発中のものです。
16/07/16 00:27:51.49 +0XaMXaz.net
多次元配列と言ったら普通こういうのだろ?w
MapTile[,] map = new MapTile[x,y];
これはそのままではインスペクタに表示出来ないので、以下の様にラッパークラスに一次元配列で持っておいてインデクサを宣言するのが楽だと思うよ
[System.Serializeable]
public class Map{
[SerializeField]
private MapTile[] tile;
public MapTile this[int x,int y]{
get{return tile[x+y*tile.GetLength(1)];}
set{tile[x+y*tile.GetLength(1)]=value;}
}
}
ジャグ配列となることが許容できて間にクラスを挟んでいいなら>>552もありだが、インスペクタ表示のためにデータの保持構造を複雑化するのは本末転倒
エディタ拡張は実行速度に影響しないが、データ構造の複雑化はそのデータへのアスセス頻度によってはボトルネックにもなりうる愚策だ
横着者なので個人的には2次元インデクサ付き1次元配列を使っているが、どうしても二次元配列の状態で表示したいならエディタ拡張するべきだろう


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch