Sono totalmente nuovo in questo e ho una domanda. Ho lavorato con un esercizio a scuola ea casa, ma non riesco a capire come farlo.Come posso disegnare un singolo sprite in posizioni casuali per 10 volte?
Il fatto è che voglio disegnare un singolo sprite su 10 posizioni casuali sullo schermo senza usare una classe speciale di sprite. Il mio problema è che dopo che sono stati disegnati spariscono di nuovo.
Risolto, grazie per tutto l'aiuto!
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
Texture2D turtleTexture;
int counter = 0;
Random randomera = new Random();
int x;
int y;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
base.Initialize();
}
/// <summary>
/// </summary>
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
turtleTexture = Content.Load<Texture2D>(@"Images/turtle_50x38");
}
protected override void UnloadContent()
{
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
/*
if(counter < 10)
{
x = randomera.Next(600);
y = randomera.Next(400);
counter++;
}
*/
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.White);
spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);
if (counter < 10)
{
for (int i = 0; i < 10; i++)
{
spriteBatch.Draw(turtleTexture, new Vector2(randomera.Next(600), randomera.Next(400)),
Color.Black);
counter++;
}
}
spriteBatch.End();
base.Draw(gameTime);
}
}
}
Vuoi dire che si desidera conservare fotogrammi precedenti visibile mentre si disegna più sprite? –
Questo potrebbe essere più adatto in [GameDev] (http://gamedev.stackexchange.com) –
Perché c'è 'if (counter <10)' nel tuo codice, se c'è 'for' loop che conta fino a 10 dopo che ? – Bartosz