2007年5月20日日曜日

あなたの最初のゲーム(2)


前回に引き続き、ステップ4 です。
キャラクターなどの小さい画像をスプライト表示するプログラムです。
Window の左上に小さい画像がスプライト表示されています。


スプライト
スプライトとは、ファミコンからゲームボーイまで一般的に使用されているCG手法です。背景画の上にキャラクター画像をスプライト表示させ、キャラクター画像のみを移動させることでキャラクターが移動しているように見えます。

ステップ4: スプライトを加えてください。
次のステップはスクリーンに描くことができるグラフィックを加えることです。
小さい.bmpか.jpgファイルなどのグラフィックスファイルを使用してください。
創造的にしてください。あなた自身で作成することもできます。
あなたは、少し先にスキップすれば、見られるべきでない部分(エッジか角などの)を「隠す」スプライトのよりきれいに見える使用法を知ることができます。
例えば、ハウツーを見てください:マスキングがあるテクスチャーを作ってください。
あなたのコンピュータでグラフィックをいったん選んだ後、以下の方法に従ってください。

1.Windowの右側でプロジェクトに関するソリューションエクスプローラーが必ず見えることを確認してください。
それを見ることができないなら、ビュー・メニューをクリックし、ソリューションエクスプローラーをクリックしてください。
それが現れると、あなたは、ファイルが木構造のあなたのプロジェクトに関連しているのを見るでしょう。

2.ソリューションエクスプローラーでプロジェクトを右クリックしてください、そして、「追加」をクリックしてください、そして、「既存の項目」をクリックしてください。
グラフィックにブラウズしてください。
あなたがどんなファイルも見ることができないなら、「ファイルの種類」を「すべてのファイル」に変えて、Content Pipeline Filesを読んでください。
グラフィックファイルをクリックしてください、そして、Addをクリックしてください。
グラフィックファイルのための入り口が、ソリューションエクスプローラーに現れるでしょう。

3.あなたがグラフィックファイルを加えるとき、それは自動的にXNA Framework Content Pipelineに加えられます。(XNA Framework Content Pipelineはあなたにあなたのゲームにおけるグラフィックをすぐに、容易にロードさせるでしょう)。

4.ソリューションエクスプローラーのグラフィックのためのエントリーをクリックしてください。
ソリューションエクスプローラーの下のプロパティWindowにおいて、「Asset Name」プロパティを探してください。
名前に注意してください;あなたは、あなたのゲームでそれを表示することができるようにグラフィックをロードするのにコードにそれを使用するでしょう。
もしプロパティWindowが見えないなら、F4を押すか、ビュー・メニューをクリックしてください、そして次に、プロパティWindowをクリックしてください。

5.さあ、あなたはスクリーンでスプライトをロードし表示するコードを書かなければなりません。
あなたは以下の使用説明を使用できます。How to:Spriteを描くか、またはここに沿って続いてください。
あなたのゲームのCodeを見ることに戻ります、LoadGraphicsContentメソッドを見つけてください、そして、これと同様に見えるためにメソッドとメソッドを超えて以下の系列を加えてください:

C#

// これは私たちがレンダリングすることができるテクスチャーです。
 Texture2D myTexture;
// スプライトを描く座標を設定してください。
 Vector2 spritePosition = Vector2.Zero;
// これはスプライトを描くオブジェクトです。
 SpriteBatch spriteBatch;

 protected override void LoadGraphicsContent( bool loadAllContent )
 {
  if (loadAllContent)
  {
   myTexture = content.Load( "mytexture" );
   spriteBatch = new SpriteBatch( graphics.GraphicsDevice );
  }
 }

"mytexture" の記述では拡張子(.jpg や .bmp など)は省略します。

ContentManager.Loadへの呼び出しが前のステップにおけるプロパティwindowのあなたが見た「Asset名」を使用しているのを確実にしてください。
このコードは、描かれるためにあなたのグラフィックをロードして、準備して、グラフィックス装置がリセット(リサイズされるゲームウィンドウに関するケースなどの)であるならあなたのグラフィックをリロードするでしょう。


6.これに似るようにコードをDrawループに追加してください:

C#

 protected override void Draw( GameTime gameTime )
 {
  graphics.GraphicsDevice.Clear( Color.CornflowerBlue );

  // スプライトを描いてください。
  spriteBatch.Begin( SpriteBlendMode.AlphaBlend );
  spriteBatch.Draw( myTexture, spritePosition, Color.White );
  spriteBatch.End();

  base.Draw( gameTime );
 }

このコードはスクリーンの上のスプライトのために各フレームを描きます。

7.ゲームをビルドして、ランさせてください。スプライトが現れます。 さあ、もう何らかの動きをそれに与えるべき時です。

0 件のコメント: