- ベストアンサー
C#のXNAでゲームを作成中です。
作っているゲームは、ファイヤーエンブレムのようなシミュレーションRPGです。 完全に行き詰りました。 キャラクター選択画面で選択したキャラクターをどうやってゲーム画面に反映させるかです。 10人のキャラクターの中から3人をランダムで決め、そのキャラクターをステージで使うというものなのですが、 今の段階は、String型の配列に10人の画像を入れ、乱数で表示させるという処理を行っています。 どうかよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
何かどう分からないか逆にわからないんですが、こういうことでは? string[] charFileNameArray = { "char0.png", "char1.png", "char2.png", "char3.png", "char4.png", "char5.png", "char6.png", "char7.png", "char8.png" }; int[] charSelect = { 1, 7, 3 }; Texture2D[] charImage = new Texture2D[3]; for( int i = 0; i < charSelect.Length; i++ ) { charImage[i] = Texture2D.FromFile( graphics.GraphicsDevice, charFileNameArray[ charSelect[i] ] ); } 基礎の基礎のコードだと思うのですが、C#はちゃんと勉強されましたか?
その他の回答 (2)
- zwi
- ベストアンサー率56% (730/1282)
動作確認してないですが、こういう事では? string[] charFileNameArray = { "char1.png", "char2.png", "char3.png" }; Texture2D[] charImage = new Texture2D[3]; for(int i=0; i<charFileNameArray.GetLength(0); i++) { charImage[i] = Texture2D.FromFile(graphics.GraphicsDevice, charFileNameArray[i]); }
- zwi
- ベストアンサー率56% (730/1282)
それはファイル名で画像クラスのインスタンスじゃないですよね? Texture2Dクラスのインスタンスをステージで使うだけではないのでしょうか?
補足
配列に画像のパスをキャラクタ-分格納しており、 乱数で決定した配列番号のパスを表示メソッドで表示しているという感じです。 ただ、表示されたキャラクターのインスタンスをどう生成すればよいのか、わかりません。 配列番号と列挙型のキャラクターのIDを適応させてやろうかなと思ったのですが、どうもわからずじまいです。
補足
そんな感じです。 ただ、表示する配列番号の指定が乱数なだけです。