2012-03-14 14 views
1

私は現在、学校のプロジェクトに取り組んでおり、講師が大量のコードなしでこれを行う方法を説明したクラスを見逃しています。ここXNAのランダムな場所に同じスプライト50を描画するにはどうすればよいですか?

は、割り当てである:

はXNAアプリケーションを作成下方加速50個のアニメーションスプライトを示しています。スプライトがウィンドウの下部に当たったら、それをバウンスさせます。スプライトが常に完全にウィンドウ内に入るように、各スプライトをランダムな場所に作成します。ランダムな場所のY成分を0と300の間に制限します。最後に、スペースバーを押すとスプライトが元の位置にリセットされるようにします。

これは例の画像へのリンクで、担当者は画像に

http://hypergrade.com/grader/file_download.php?id=132

を挿入するために、私は、単一のスプライト描画され、アニメーションを持って十分に高くないですが、私はただランダムに生成する場所にいくつかのガイダンスを必要とします同じTexture2Dのために。

答えて

0

ランダムクラスを使用する必要があります。デSpriteクラスは、あなた次第もちろん

// Make one instance of random, the seed is the milliseconds, other way random always returns the same sequence of random numbers. 
static readonly Random rnd = new Random(DateTime.Nom.Milliseconds); 

List<Sprite> Sprites = new List<Sprite>(50); 
public void Update() 
{ 
     //Add new sprites with a 90% or probability 
     if (Sprites.Count<50 && rnd.Next(100) > 90) 
     { 
      Sprite sprite = new Sprite(); 

      // This X calculation makes the sprite not to get out of the screen at both sides 
      sprite.Pos.X = (float) ((0.1f + 0.8f * rnd.NextDouble()) * GraphicsDevice.Viewport.Width); 
      sprite.Pos.Y = (float) (rnd.NextDouble() * 300); 

      Sprites.Add(Sprite); 
     } 
} 

.. :)

関連する問題