/// <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) { if (grietje.rectangle.Intersects(TestLevel.finish)) { status = GameStatus.GameOver; MediaPlayer.Play(credits); } // Allows the game to exit KeyboardState kb = Keyboard.GetState(); startscreen.Update(gameTime); if (status == GameStatus.StartScreen) { if (kb.IsKeyDown(Keys.Enter)) { status = GameStatus.Gameplay; MediaPlayer.Play(bgm); } } if (status == GameStatus.GameOver) { if (kb.IsKeyDown(Keys.R)) { Restart(); TimeLapse = 0; UpdateCam = true; status = GameStatus.StartScreen; } } if (status == GameStatus.Gameplay) { TimeLapse += (float)gameTime.ElapsedGameTime.TotalSeconds; hans.Update(gameTime); hans.UpdateAnimation(gameTime); grietje.Update(gameTime); grietje.UpdateAnimation(gameTime); if (UpdateCam) { if (grietje.position.X < 700) { UpdateCam = false; } if (grietje.position.X < 3200 && grietje.position.X > 700) { cameraOne.Update(new Vector2(grietje.Center.X - 640, 700)); } else { cameraOne.Update(new Vector2(2500, 700)); } } if (!UpdateCam) { cameraOne.Update(new Vector2(100, 700)); if (grietje.position.X > 700) { cameraOne.Update(new Vector2(grietje.Center.X - 640, 700)); } } if (kb.IsKeyDown(Keys.Escape)) { status = GameStatus.GameOver; } manager.Update(gameTime); } /* * if (Vector2.Distance(hans.position, grietje.position) > 640) * { * grietje.onPosition = false; * grietje.Relocate(hans.position); * }*/ //Console.WriteLine(level.SpawnNextlvl); // TODO: Add your update logic here base.Update(gameTime); }