Mattyfog
22-07-2009, 09:52
Io ho questa classe:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
namespace Primo_videogame
{
public class SpriteManager : Microsoft.Xna.Framework.DrawableGameComponent
{
SpriteBatch spriteBatch;
List<Sprite> spriteList = new List<Sprite>();
Texture2D tex1;
Vector2 pos1;
Vector2 spd1;
public SpriteManager(Game game)
: base(game)
{
}
public override void Initialize()
{
pos1 = new Vector2(10.0f, 1.0f);
spd1 = new Vector2(2.0f, 1.0f);
base.Initialize();
}
protected override void LoadContent()
{
tex1 = Game.Content.Load<Texture2D>("astronave2");
spriteBatch = new SpriteBatch(Game.GraphicsDevice);
//Aggiungiamo nuovi sprite----------------------
spriteList.Add(new AutoSprite(tex1, pos1, spd1));
base.LoadContent();
}
public override void Update(GameTime gameTime)
{
foreach (Sprite s in spriteList)
{
s.Update(gameTime);
}
base.Update(gameTime);
}
public override void Draw(GameTime gameTime)
{
spriteBatch.Begin();
foreach (Sprite s in spriteList)
{
s.Draw(gameTime, spriteBatch);
}
base.Draw(gameTime);
spriteBatch.End();
}
}
}
che viene richiamata così:
SpriteManager spritemanager = new SpriteManager(this);
Components.Add(spritemanager);
se io volessi passargli delle variabili (per esempio i valori di pos1 e spd1) cosa dovrei modificare nella classe?
Perchè non so bene cosa e soprattutto dove devo modificare la classe... Grazie :D
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
namespace Primo_videogame
{
public class SpriteManager : Microsoft.Xna.Framework.DrawableGameComponent
{
SpriteBatch spriteBatch;
List<Sprite> spriteList = new List<Sprite>();
Texture2D tex1;
Vector2 pos1;
Vector2 spd1;
public SpriteManager(Game game)
: base(game)
{
}
public override void Initialize()
{
pos1 = new Vector2(10.0f, 1.0f);
spd1 = new Vector2(2.0f, 1.0f);
base.Initialize();
}
protected override void LoadContent()
{
tex1 = Game.Content.Load<Texture2D>("astronave2");
spriteBatch = new SpriteBatch(Game.GraphicsDevice);
//Aggiungiamo nuovi sprite----------------------
spriteList.Add(new AutoSprite(tex1, pos1, spd1));
base.LoadContent();
}
public override void Update(GameTime gameTime)
{
foreach (Sprite s in spriteList)
{
s.Update(gameTime);
}
base.Update(gameTime);
}
public override void Draw(GameTime gameTime)
{
spriteBatch.Begin();
foreach (Sprite s in spriteList)
{
s.Draw(gameTime, spriteBatch);
}
base.Draw(gameTime);
spriteBatch.End();
}
}
}
che viene richiamata così:
SpriteManager spritemanager = new SpriteManager(this);
Components.Add(spritemanager);
se io volessi passargli delle variabili (per esempio i valori di pos1 e spd1) cosa dovrei modificare nella classe?
Perchè non so bene cosa e soprattutto dove devo modificare la classe... Grazie :D