0
我目前正在研究一個遊戲項目,其中物體從屏幕的頂部落下,而底部的人需要抓住正確的物體。如何在XNA中從屏幕頂部跌落超過1個Texture2d?
Texture2D blockTexture;
List<Vector2> blockPositions = new List<Vector2>();
float BlockSpawnProbability = 0.01f;
const int BlockFallSpeed = 2;
以下是產生新的下跌塊
if (random.NextDouble() < BlockSpawnProbability)
{
float x = (float)random.NextDouble() *
(Window.ClientBounds.Width - blockTexture.Width);
blockPositions.Add(new Vector2(x, -blockTexture.Height));
}
personHit = false;
for (int i = 0; i < blockPositions.Count; i++)
{
// Animate this block falling
blockPositions[i] =
new Vector2(blockPositions[i].X,
blockPositions[i].Y + BlockFallSpeed);
// Get the bounding rectangle of this block
Rectangle sprite =
new Rectangle((int)blockPositions[i].X, (int)blockPositions[i].Y,
blockTexture.Width, blockTexture.Height);
// check collision with person
if (personRectangle.Intersects(sprite))
personHit = true;
if (blockPositions[i].Y > Window.ClientBounds.Height)
{
blockPositions.RemoveAt(i);
i--;
}
}
base.Update(gameTime);
}
要繪製塊
foreach (Vector2 blockPosition in blockPositions)
spriteBatch.Draw(blockTexture, blockPosition, Color.White);
我明白,如果有人說,他們這裏不給我們答案,但我只是想一些幫助,以及如何做到這一點..
我怎樣才能讓一個數組,其中的對象被採摘隨機地,他們從屏幕上掉下來,而不是逐個添加Texture2Ds。
我確實試圖找到這個教程,但我不能.. 我會很感激任何幫助。
你的問題還不太清楚。你能改進它嗎?正如我可以看到你做對了heare:使用一個紋理和位置列表。 – Silveor
謝謝您的回覆,我很抱歉,如果我不清楚。 目前在遊戲中,我有一個塊從屏幕的頂部下降......我想讓3-4個不同的物體落下。如蘋果和香蕉以及這些塊.. 但我只是不知道如何添加其他對象.... 我認爲這將是更容易,如果我做一個對象的數組,他們得到隨機挑選並落下,但我需要幫助。 – hTeeML