2017-01-05 6 views
0

私はタイルベースのボードゲームをグリッド上に作成しています。ゲームボードの作成については、コード内のすべてのタイルをインスタンス化するのが簡単ですが、再生モードでのみ表示されます。エディタでタイルを編集できるようにしたいのですが、私のタイルをコントローラクラスの2D配列に保存したいと思っています。私がエディタでボードをビルドすると、実行時にそれらをロードする方法を教えてください。既存のゲームオブジェクトを2D配列にロード

+0

あなたのコントローラークラスでは、GameObjectsのパブリック "double"配列を宣言してから、インスペクターでタイルをドラッグ&ドロップすることができます。実際には、GameObjectの1D配列( "RowTiles"と呼ぶことができます)を含むシリアライズ可能な構造体/クラスを作成し、コントローラーで 'RowTiles'のpublic 1D配列を宣言する必要があります – Hellium

+0

@Helliumエディタスクリプトのタイル(タイルがたくさんあるので、一度に1つずつ作成して配置したくない)。どのように私はそれらを生成し、私のエディタスクリプトでその配列にそれらを追加するかもしれないか知っていますか? – anthropomorphic

+0

@Hellium Whoah、あなたのコメントを編集した後、あなたは私を失った。回答で話している内容を示すコードスニペットを投稿できますか? – anthropomorphic

答えて

0

リソースフォルダのタイルを保持します。実行時にリソースからロードし、タイルをシーン内のグリッド位置にインスタンス化します。

GameObject[] Tiles= (Resources.LoadAll<GameObject> ("Tiles"));