Пример #1
0
 public void draw(SpriteBatch spriteBatch, Camera2D cam)
 {
     spriteBatch.Draw(WIN, WINpos, Color.White);
     spriteBatch.Draw(NER, NERpos, Color.White);
     spriteBatch.Draw(backGround, new Rectangle((int)cam.Position.X - 720, (int)cam.Position.Y - 500, 1500, 1000), Color.Black * 0.5f);
     spriteBatch.DrawString(spriteFont, CharactersHandler.getWinner().returnName(), new Vector2(cam.Position.X - 25, cam.Position.Y - 50), Color.Red);
     if (!inAnimation)
     {
         spriteBatch.DrawString(spriteFont, Options[0], new Vector2(cam.Position.X - 75, cam.Position.Y), Color.White, 0f, Vector2.Zero, 1.5f, SpriteEffects.None, 0f);
     }
 }
Пример #2
0
        protected override void Update(GameTime gameTime)
        {
            Input.Update();
            background.Update(gameTime);

            //desenha os menus que nao sao ingame
            //se nao esta in game ou nao existe vencedor
            if (gameState != GameState.running && gameState != GameState.Win && gameState != GameState.CharacterChangeScene)
            {
                if (playonce2 == false && gameState != GameState.Paused)
                {
                    SoundManager.playMusic("menuMusic");
                    playonce2 = true;
                    playonce  = false;
                }
                MenusHandler.Update(gameTime, this, Content, Camera, Interface);
                if (gameState != GameState.Paused)
                {
                    cameraX         = 400;
                    Camera.Position = new Vector2(cameraX, 350);
                    Camera.Scale    = 1f;
                }
            }

            //se tiver in game!!!

            else
            {
                if (gameState == GameState.Win || gameState == GameState.CharacterChangeScene)
                {
                    MenusHandler.Update(gameTime, this, Content, Camera, Interface);
                }
                else
                {
                    if (playonce == false)
                    {
                        SoundManager.playMusic("ingameMusic");
                        playonce  = true;
                        playonce2 = false;
                    }
                    Interface.update(gameTime);
                    Camera.Scale = 0.7f;
                    TesteMapa.update(gameTime);

                    if (Keyboard.GetState().IsKeyDown(Keys.Escape) && gameState == GameState.running)
                    {
                        gameState = GameState.Paused;
                    }

                    if (Input.IsPressed(Keys.K) && Collisions.bulletsOnScreen.Count == 0 && !CharactersHandler.isWinner())
                    {
                        gameState             = GameState.CharacterChangeScene;
                        Characters.weaponUsed = false;
                        SoundManager.playSound("FX001");
                    }

                    if (hud.roundTime <= 0 && Collisions.bulletsOnScreen.Count == 0)
                    {
                        gameState             = GameState.CharacterChangeScene;
                        Characters.weaponUsed = false;
                        SoundManager.playSound("FX001");
                        if (CharactersHandler.isWinner())
                        {
                            SoundManager.playSound("FX052");
                            gameState = GameState.Win;
                            MenusHandler.winMenu.loadInGame(Camera);
                            auxMapa = false;
                        }
                    }
                    if (CharactersHandler.isWinner())
                    {
                        cameraX = (int)CharactersHandler.getWinner().CharacterPosition().X;
                    }

                    if (Input.IsDown(Keys.Right) && cameraX < 2210 && gameState == GameState.running && !CharactersHandler.isWinner())
                    {
                        cameraX += 10;
                    }
                    if (Input.IsDown(Keys.Left) && cameraX > 370 && gameState == GameState.running && !CharactersHandler.isWinner())
                    {
                        cameraX -= 10;
                    }


                    GhostCharacter.SetCharacterPosition(new Vector2(cameraX, 350));
                    CharactersHandler.updatePlayers(gameTime);
                }
            }


            //Console.WriteLine("X:{0}   Y:{1}", CharactersHandler.getActiveCharacterRectangle().X, CharactersHandler.getActiveCharacterRectangle().Y);
            base.Update(gameTime);
        }