ラベル 2D ゲーム の投稿を表示しています。 すべての投稿を表示
ラベル 2D ゲーム の投稿を表示しています。 すべての投稿を表示

2007年5月22日火曜日

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

前回に引き続き、ステップ6です。

ステップ6: 探検してください!

ここから、あなたはほとんど何でもできます。3Dグラフィックス、入力、およびオーディオを含むより複雑な例までジャンプする準備ができているなら、Going Beyondを見てください: 3DにおけるXNAゲームスタジオエキスプレス。

ここに、このサンプルを広げるいつくかのアイデアがあります。

SpriteBatch.Drawの呼び出しに関して実験してください。スプライトの色付けのためにColorパラメタを変えてください。How to を見てください: スプライトの色付け

2番目のスプライトを加え、そして、BoundingBoxオブジェクトを使用して、スプライトがお互いに衝突するのを許容してください。
(How to を見てください:2つのモデルが衝突するかどうかを検出してください。)

キーボート、マウス、もしくはゲームパッドを用いて、スプライトに入力装置の動きに応じさせるようにしてください。(入力概要を見てください。)

動くときスプライトが音を出すように、いくつかのオーディオイベントを引き起こしてください。
(How to を見てください:ゲームにサウンドファイルを付け加えてください、XACT を用いて、そして、How to を見てください:音を出す)

スプライトの代わりに、3Dスペースを動き回る3D基本図形を使用してください。
(How to を見てください:点、線、そして3D基本図形を描いてください。)


完全な例(Game1.csのコンテンツ)


C#

完全なプログラムソースは原文(Your First Game: Microsoft Game Studio Express in 2D)を見てください。

今後の課題として背景画像の表示があります。

背景画像の表示。スプライトの背景となる画像を表示する。

2007年5月21日月曜日

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


前回に引き続き、ステップ5です。

Window 上のスプライト表示されている小さい画像が移動し、Window の枠にあたると跳ね返ります。





ステップ5: スプライトが移動し、飛び跳ねるようにしてください。
次のように、Updateメソッドの中と上にコードを変えてください:

C#

 // スプライトの動きに関する情報を格納してください。
 Vector2 spriteSpeed = new Vector2( 50.0f, 50.0f );

 protected override void Update( GameTime gameTime )
 {
  // デフォルトゲームがXbox360とWindowsで出るのを許容します。
  if (GamePad.GetState( PlayerIndex.One ).Buttons.Back ==
                            ButtonState.Pressed)
   this.Exit();

  // 周囲でスプライトを動かしてください。
  UpdateSprite( gameTime );


  base.Update( gameTime );
 }

 void UpdateSprite( GameTime gameTime )
 {
  // 経過時間で計測された速度に従って、スプライトを動かしてください。
  spritePosition +=
   spriteSpeed * (float)gameTime.ElapsedGameTime.TotalSeconds;

  int MaxX = graphics.GraphicsDevice.Viewport.Width
          - myTexture.Width;
  int MinX = 0;
  int MaxY = graphics.GraphicsDevice.Viewport.Height
          - myTexture.Height;
  int MinY = 0;

  // 弾みをチェックしてください。
  if (spritePosition.X > MaxX)
  {
   spriteSpeed.X *= -1;
   spritePosition.X = MaxX;
  }
  else if (spritePosition.X < x =" MinX;"> MaxY)
  {
   spriteSpeed.Y *= -1;
   spritePosition.Y = MaxY;
  }
  else if (spritePosition.Y < y =" MinY;">

これは、各フレームでスプライトを動かして、もし、スプライトがゲームウィンドウの縁に行くなら、スプライトの動く方向を変える少しのロジックを加えます。

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

2007年5月19日土曜日

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

Microsoft Visual C# 2005 Express Edition のヘルプを表示すると、XNA Game Studio Express 項目があります。

その中のGetting Started with XNA Game Studio Express があり、
その中のYour First Game: Microsoft XNA Game Studio Express in 2D に 2次元(2D)のゲーム制作プログラムが記述されています。

ms-help://MS.VSExpressCC.v80/MS.VSIPCC.v80/MS.XNAFX.1033/ XNA/First_XNA_Game.htm

英語のまま作業しても良いのですが、このプログラムはしっかり理解した方がよさそうなので、また、エキサイト翻訳サイトでまた翻訳して作業を進めてみました。

自動翻訳のままではさすがに変なので少し意訳してあります。
ただ、日本語として正しくするには手間がかかるので、訳は不完全です。

しかし、メニュー名などは日本語版C# の表示に直してあるので、作業を進めるのに支障はないでしょう。

XNA Game Studio Express 1.0 Refresh
Your First Game
: Microsoft XNA Game Studio Express in 2D

この記事はXNA Game Studio Expressを使用することによって簡単なスプライトベースのゲームを作成するのに必要なステップであなたを導きます。

ステップ1: ソフトウェアをインストールしてください。
ステップ2: 新しいプロジェクトを作成してください。
ステップ3: コードを見てください。
ステップ4: スプライトを加えてください。
ステップ5: スプライトを動かしたり、飛び跳ねてさせてください。
ステップ6: 探検!完全な例(Game1.csのコンテンツ)

ステップ1: ソフトウェアをインストールしてください。
あなたが始める前に、すべての必要なソフトウェアをインストールしたのを確実にしてください、Visual C#2005のExpress EditionとXNA Game Studio Expressを含んでいて。
必要なプログラムのリストに関してRequired Softwareを見てください。

ステップ2: 新しいプロジェクトを作成してください。
1. スタートメニューから、All Programs、次に、マイクロソフトXNA Game Studio Expressフォルダー、および最終的にXNA Game Studio Expressをクリックしてください。
2. Startページが現れたら、「ファイル」メニューをクリックしてください、そして、次に、「新しいプロジェクト」をクリックしてください。
3. 現れたダイアログボックスの中の、「Windows Game」を選んでください、そして、「プロジェクト名」の中のあなたのプロジェクト(たとえば、MyFirstXNAGame)のためのタイトルを記入してください。 あなたが「場所」の中にプロジェクトを保存したいパスを記入してください。 そして、OKをクリックしてください。新しいプロジェクトを作成した後に、あなたはゲームのコードを見ることができるでしょう。

ステップ3: コードを見てください。
きつい仕事のいくつかがあなたのために既に果たされました。
あなたがゲームを作り実行したとき、GraphicsDeviceManagerは、画面サイズや空白スクリーンをレンダリングするための設定を行います。 あなたのゲームは、自分自身で、すべてを実行して、アップデートするでしょう。 ゲームをよりおもしろくするようにあなた自身のコードを挿入するのは、あなた次第です。 あなたのゲームを実行するコードの多くがあなたのために既に書かれています、そして、すべてには、あなたがコードを挿入する場所があります。

●Initializeメソッド
あなたがGraphicsDeviceが初期化されるのを必要としないどんな資産も初期化することができるところです。
●LoadGraphicsContentメソッド
あなたがモデルやテクスチャーなどのどんなグラフィカルな資産もロードするところです。
●UnloadGraphicsContentメソッド
どんなグラフィカルな資産もリリースすることができるところです。 一般に、それらはもう必要でないときに、資産が自動的にリリースされるとき、どんな付加的なコードもここで必要ではありません。
●Updateループ
あなたのゲームロジックをアップデートする最も良い場所です: 物体を動かしてください、そして、プレーヤー入力を受け取ってください、そして、オブジェクトの間の衝突の結果について決めてください。
●Drawループ
スクリーンであなたのオブジェクトとバックグラウンドのすべてをレンダリングする最も良い場所です。