Soy totalmente nuevo en esto y tengo una pregunta. Trabajé con un ejercicio en la escuela y en casa pero no puedo encontrar la forma de hacerlo.¿Cómo puedo dibujar un solo sprite en posiciones aleatorias 10 veces?
La cuestión es que quiero dibujar un solo sprite en 10 posiciones aleatorias en la pantalla sin usar una clase de sprite especial. Mi problema es que después de que se dibujan desaparecen de nuevo.
¡Lo resolvió, gracias por toda la ayuda!
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);
}
}
}
Qué quiere decir que desea mantener fotogramas anteriores visible mientras se dibuja más ¿sprites? –
Esto podría ser más adecuado en [GameDev] (http://gamedev.stackexchange.com) –
¿Por qué hay 'if (contador <10)' en su código, si hay 'for' loop que cuenta a 10 después de eso ? – Bartosz