public override void Update(GameTime gameTime) { KeyboardState tecla = Keyboard.GetState(); MouseState mouse = Mouse.GetState(); Nucleo nucleo = (Nucleo)Game.Services.GetService(typeof(Nucleo)); //é flag mouseEstava pressionado é necessária paracaso o usuario tenha clicado em um botão de uma outra tela e avançou para a tela atual, então setamos ela como false, e só qdo o usuário larga o clique // deixamos a como false, e somente qdo tiver como false vai ser possível clicar nos botões novos if (mouse.LeftButton == ButtonState.Released) { mouseEstavaPressionado = false; } if (btnVoltar.VerificaColisaoMouse(new Point(mouse.X, mouse.Y)) && !mouseEstavaPressionado) { btnVoltar.checado = true; if (mouse.LeftButton == ButtonState.Pressed) { nucleo.telaNova = TelasJogoEnum.TelaInicial; } } else { btnVoltar.checado = false; } if (btnAvancar.VerificaColisaoMouse(new Point(mouse.X, mouse.Y)) && !mouseEstavaPressionado) { btnAvancar.checado = true; if (mouse.LeftButton == ButtonState.Pressed) { nucleo.telaNova = TelasJogoEnum.TelaJogo; } } else { btnAvancar.checado = false; } base.Update(gameTime); }
public override void Update(GameTime gameTime) { Nucleo nucleo = (Nucleo)Game.Services.GetService(typeof(Nucleo)); MouseState mouse = Mouse.GetState(); if (mouse.LeftButton == ButtonState.Released) { mouseEstavaPressionado = false; } if (btnIniciarEnredo.VerificaColisaoMouse(new Point(mouse.X, mouse.Y))) //dependendo de onde o usuario clicar, iremos ativar uma nova tela { btnIniciarEnredo.checado = true; if (mouse.LeftButton == ButtonState.Pressed && mouseEstavaPressionado == false) { nucleo.telaNova = TelasJogoEnum.TelaEnredo; } } else { btnIniciarEnredo.checado = false; } base.Update(gameTime); }