/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { MouseState mouse = Mouse.GetState(); //Mouse.WindowHandle = Window.Handle; Vector2 clickCoord = new Vector2(mouse.X, mouse.Y) + new Vector2((Ecir.cameraMove.X) + 180, (Ecir.cameraMove.Y) + 451); Matrix screenScale = camera.GetTransform(); Point mousePoint = new Point((int)clickCoord.X, (int)clickCoord.Y); //Vector2 mousePos = new Vector2(mouse.X, mouse.Y); // Vector2 worldPosition = Vector2.Transform(mousePos, Matrix.Invert(screenScale)); // Console.WriteLine("mouseX=" + worldPosition.X + "mouseY=" + worldPosition.Y); MenuPause.Mouse1(mousePoint); // Console.WriteLine("mouseX=" + clickCoord.X + "mouseY=" + clickCoord.Y); if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } if (exit) { Exit(); } if (pause) { this.IsMouseVisible = true; } else { this.IsMouseVisible = false; } MenuPause.Update(); keyState = Keyboard.GetState(); if (pause == false) { if (!ecir.EcirDestroy()) { ecir.EcirMove(2, 2); ecir.TerrainColisions(); ecir.EcirLife(); } hollowKnight.Update(); ecir.UpdateTime(gameTime.ElapsedGameTime.TotalSeconds); stairs.Update(); ogre.Update(); ogre.UpdateTime(gameTime.ElapsedGameTime.TotalSeconds); terrain1.Update(); skeleton.Update(); skeleton.UpdateTime(gameTime.ElapsedGameTime.TotalSeconds, gameTime.ElapsedGameTime.Milliseconds); fireBall.Update(); fireBall.CreateFireBall(graphics); fireBall.UpdateTime(gameTime.ElapsedGameTime.TotalSeconds); if (zombie != null) { zombie.UpdateTimer(gameTime.ElapsedGameTime.TotalSeconds); zombie.ZombieChageDirection(); zombie.ZombieMove(); zombie.ZombieLife(); zombie.ZombieColor(); } hollowKnight.UpdateTime(gameTime.ElapsedGameTime.TotalSeconds); Console.WriteLine("Pause==" + pause); base.Update(gameTime); } if (keyState.IsKeyDown(Keys.P) && !keyStateOld.IsKeyDown(Keys.P)) { pause = !pause; //->pausar o jogo } keyStateOld = keyState; if (restart == true) { this.Initialize();//->reiniciar o jogo this.LoadContent(); Zombie.zombieLife = 100; Ecir.life = 100; Ecir.color = Color.White; this.Draw(gameTime); } restart = false; }