ニュース速報XNA360

How to: テクスチャの描画

最終更新:

Bot(ページ名リンク)

- view
だれでも歓迎! 編集

How to: テクスチャの描画

このサンプルは、XNA Framework のコンテントパイプラインを使ってテクスチャをロードして描画する方法を示します。既に存在しているWindowsゲームプロジェクトをXNA Game Studio Expressにロードしてください。ここでは、プロジェクトの名前は"CPTexture"とします。

このサンプルは2つのパートからなります。テクスチャをインポートして処理する部分(デザインタイムコード)と得られたマネージドオブジェクトをゲームの背景として描画する部分(ランタイムコード)です。

プロジェクトにテクスチャを追加する

1. ソリューションエクスプローラでCPTextureを右クリックし、"Add"をクリックし、"既存の項目"をクリックします

2. "ファイルの種類"を"Content Pipeline Files"にします。

3. テクスチャを選択します。今回の例ではこのアセットを"B1_nebula01.tga"と呼ぶことにします。

4. "追加"ボタンの横の小さい矢印をクリックし、"リンクとして追加"を選択します。これによって(ファイルがコピーされるのではなく)選択されたアセットへの参照が作られます。

5. ソリューションにファイルを追加した後、プロパティを開き、Content ImporterとContent Processorが指定されているか確かめてください。今回の例ではContent ImporterがTextureで、Content ProcessorがTexture (Sprite, 32bpp)です。参照を容易にするために、プロパティーウィンドウからAsset Nameを"nebula"に変更します。プロパティーウィンドのゲームアセットに関するより詳しい情報はGame Asset Properties?で得られます。

6. ソリューションを保存します。

これで、このサンプルのデザインタイムの部分は完了です。次のパートでは、マネージドオブジェクトの"nebula"をシンプルなゲームの背景として描画するのに使います。その際コードが変更されるのはプロジェクトのgame1.csのみです。

ゲームの背景を描画する

1. ソリューションエクスプローラで"game1.cs"をダブルクリックする。
2. 以下のコードをGame1クラスの宣言の最初に追加する。
private SpriteBatch spriteBatch;
private Texture2D backgroundTexture;
これらのメンバは、テクスチャと背景のスプライトを保持するのに使われます。

3. LoadGraphicsContentの"// TODO: Load any ResourceManagementMode.Automatic content with the following code:"と書いてある部分を以下のように書きかえます。

backgroundTexture = content.Load<Texture2D>("nebula") as Texture2D;
spriteBatch = new SpriteBatch(this.graphics.GraphicsDevice);

このコードによってマネージドなテクスチャーオブジェクトがメンバ変数backgroundTextureにロードされ、その後メンバ変数spriteBatchが初期化され、描画の準備がなされます。

4. Game1.Draw関数の"// TODO: Add your drawing code here with the following code:"の部分を以下のように書き換えます。

spriteBatch.Begin();
spriteBatch.Draw(backgroundTexture, new Rectangle(0, 0,
 graphics.GraphicsDevice.Viewport.Width,
 graphics.GraphicsDevice.Viewport.Height), Color.White);

spriteBatch.End();

このコードによってメンバ変数spriteBatchにロードされたテクスチャがゲームのウィンドウの背景として描画されます。

5. ソリューションをセーブしてビルドします
Save and build the solution.

6. 書き換えたコードを実行し、背景にnebulaが描かれているか確認します。これでこのサンプルのランタイムの部分は完成です。

こちらもご覧ください

タグ:

+ タグ編集
  • タグ:
ウィキ募集バナー