felipess escreveu
ahh blz luciano... so para complementar. como seria +/- esse objeto delimitador? ele apenas guardaria a coordenadas oculpadas pelo objeto clicado?
vlw Luciano + uma vez!! :P |
Um exemplo:
Observe uma simples classe Sprite:
public delegate void myEventHandler(Sprite sprite);
public class Sprite
{
public event myEventHandler Clicked;
public Rectangle Rectangle; //Objeto delimitador do Sprite
public void Update(GameTime gameTime)
{
if (this.Rectangle.Contains(Mouse.GetState().X, Mouse.GetState().Y) == true)
{
this.Clicked(this);
}
...
}
}
Dai se por exemplo você quisesse modificar o sprite quando fosse clicado na classe Game, por exemplo, teriamos:
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
Sprite mySprite;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
this.mySprite = new Sprite();
this.mySprite.Clicked += new myEventHandler(mySprite_Clicked);
base.Initialize();
}
///<summary>
/// Event handler method
///</summary>
///<param name="sprite">Sprite que será manuseado</param>
void mySprite_Clicked(Sprite sprite)
{
// Mudanças no sprite poderiam ser feitas aqui
}
...