2007年07月25日

【講座002】スプライトを動かす

では、昨日に続いて、Helpに書いてあった先に進んでみたいと思います。

英語の和約ばかりしていても仕方がないので、要約します。

Step 4

まず、小さな画像ファイル(.bmp でも .jpg でも、.png でもいいけど)を用意しましょう。あとで、これが動きますので、だいたい100×100ピクセルサイズから、300×300ピクセルサイズの間がいいでしょうね。別に正方形でなくてもかまいません。
僕は、こんな絵をペイントで書きました。ファイル名は「face.png」です。

へのへのもへじ







そのあと、Visual C#の画面の右側にある、「ソリューションエクスプローラ」のところで、右クリックして、[追加]→[既存の項目]を選択します。

ソリューションエクスプローラ










そうすると、「既存項目の追加」というファイル選択ウィンドウが開きます。最初に一番下の「ファイルの種類」を「すべてのファイル (*.*)」にしてしまった方が便利かもしれません。なぜだかよく分りませんが、JPEG画像は.jpeが拡張子に設定されているみたいで、非常に使いづらいので。

既存項目の追加





僕はここで、ペイントでさっき作った「face.png」を選択しました。
これで、Visual C#のこのプロジェクトで、この画像ファイルを利用できるようになりました。

そうしたら、プログラムを書いていきましょう。

public class Game1 : Microsoft.Xna.Framework.Game
{
  GraphicsDeviceManager graphics;
  ContentManager content;

  public Game1()
  {
    graphics = new GraphicsDeviceManager(this);
    content = new ContentManager(Services);
  }

と書かれている部分があります。この、「ContentManager content;」と、「public Game1()」の間に次の項目を入れます。

  Texture2D myTexture;
  SpriteBatch spriteBatch;
  Vector2 spritePosition = Vector2.Zero;
  Vector2 spriteSpeed = new Vector2(50.0f, 50.0f);

あとで、詳しい説明をすることにして、とりあえず先に進みます。
今度は、さっき折りたたんだ中で、「LoadGraphicsContent」のところを開きなおして、中身を次のようにします。ちなみに書き加えるところは「赤く」しておきました。

protected override void LoadGraphicsContent(bool loadAllContent)
{
  if (loadAllContent)
  {
    // TODO: Load any ResourceManagementMode.Automatic content
    myTexture = content.Load<Texture2D>("face");
    spriteBatch = new SpriteBatch(graphics.GraphicsDevice);
  }

  // TODO: Load any ResourceManagementMode.Manual content
}

ちなみに、この中で、「face」と書かれたところがあります。僕は、さっきペイントで「face.png」というのを作って、ソリューションエクスプローラに入れたわけですが、この拡張子の部分を取って、「face」となっています。作った画像が「body.jpg」であれば、ここは「body」になりますし、「ball.bmp」であれば、「ball」になります。

さて、この後は、折りたたまれた「Draw」を書き換えます。さっきと同じように書き加えるところは「赤字」にしています。

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

  // TODO: Add your drawing code here

  spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
  spriteBatch.Draw(myTexture, spritePosition, Color.White);
  spriteBatch.End();

  base.Draw(gameTime);
}

さぁ、これで、もう実行は可能です。[F5]キーを押して、ビルド&実行をしてみましょう。

Step4終了後








左上の方に、さっき作った画像が貼られています。とりあえず、Step 4では、ここまでです。終わりにする時にはウィンドウ右上の×ボタンを押しましょう。(XBOXのゲームパッドがUSBで接続されているときは、Backボタンを押してもプログラムは終了します。)

今日のところはここまで。次は、当然ながら、この絵を動かすってことをやってみたいと思います。


dmatsu2005 at 08:14コメント(0)トラックバック(0) 
プログラミング講座 | XNA

トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
livedoor プロフィール

アロハ

痩せないと死ぬよっていう宣告を受けてしまったので、ダイエットに目覚めたプログラマー(約95kg)

広告

レンタルサーバーなら使えるねっと


Google AdSense
Google検索
訪問者数
  • 今日:
  • 昨日:
  • 累計:

オススメの書籍