예제 #1
0
 public Consumable(Vector2 position)
 {
     pos = position;
     rect = new BoundingRectangle(position, 10);
     int randNum = Game1.random.Next(3);
     switch (randNum)
     {
         case 0:
             cType = ConsumableType.MASS;
             draw = new DrawOscillate(SpriteDatabase.GetAnimation("pwr_mass"), .4f);
             break;
         case 1:
             cType = ConsumableType.SLIP;
             draw = new DrawOscillate(SpriteDatabase.GetAnimation("pwr_slick"), .4f);
             break;
         case 2:
             cType = ConsumableType.SPEED;
             draw = new DrawOscillate(SpriteDatabase.GetAnimation("pwr_speed"), .4f);
             break;
         case 3:
             cType = ConsumableType.TURN;
             draw = new DrawOscillate(SpriteDatabase.GetAnimation("pwr_turn"), .4f);
             break;
     }
 }
예제 #2
0
 public Consumable(Vector2 position, ConsumableType type)
 {
     pos = position;
     rect = new BoundingRectangle(position, 10);
     cType = type;
     switch (type)
     {
         case ConsumableType.MASS:
             draw = new DrawOscillate(SpriteDatabase.GetAnimation("pwr_mass"), .4f);
             break;
         case ConsumableType.SLIP:
             draw = new DrawOscillate(SpriteDatabase.GetAnimation("pwr_slick"), .4f);
             break;
         case ConsumableType.SPEED:
             draw = new DrawOscillate(SpriteDatabase.GetAnimation("pwr_speed"), .4f);
             break;
         case ConsumableType.TURN:
             draw = new DrawOscillate(SpriteDatabase.GetAnimation("pwr_turn"), .4f);
             break;
     }
 }
예제 #3
0
        /*-------------------------------------------------------------------------*/
        #region Constructor + Load methods

        private HUD()
        {
            //Set window properties
            windowWidth = Game1.SCREEN_WIDTH;
            windowHeight = Game1.SCREEN_HEIGHT;

            hudComponents = new List<SpriteComponent>();
            hudDrawComponents = new List<DrawComponent>();
            //Components
            bannerComponent = new SpriteComponent(new Vector2(windowWidth / 2, windowHeight - 20), new Vector2(800, 45));
            healthBarComponent = new SpriteComponent(new Vector2(bannerComponent.getPosition().X-280, bannerComponent.getPosition().Y), new Vector2(580, 12));
            healthBarComponent.setOriginLeft();
            healthBarContainerComponent = new SpriteComponent(new Vector2(bannerComponent.getPosition().X + -284, bannerComponent.getPosition().Y + 10), new Vector2(590, 19));
            healthBarContainerComponent.setOriginBottomLeft();
            //superFlashIconComponent = new SpriteComponent(new Vector2((bannerComponent.getPosition().X - bannerComponent.getSize().X/2) - 25, bannerComponent.getPosition().Y-2), new Vector2(45.0f, 45.0f));
            powerUpIcon = new PowerUpIcon(new Vector2(100, 50), 0f, false);
            superFlashIcon = new DrawOscillate(SpriteDatabase.GetAnimation("superFlashIcon"), new Vector2(100,150), 0f,true);
            hudDrawComponents.Add(superFlashIcon);
            
            
            
            //Score Positions
            positionScore = new Vector2(bannerComponent.getPosition().X - (bannerComponent.getSize().X / 2) + 10, bannerComponent.getPosition().Y + 4);

            
            
            
            //Initialize current score
            //currentScore = 0;
            scoreScale = 1;
            maxScoreScale = 4.0f;
            scoreIncrement = 10;

            //Set up Timers
            timer = 0;
            timerInterval = 500;

            //Set up current health
            health = 100;
            //healthActual = (int)health;

            //Animate timer 
            timeSoFar = 0;
            TimeToAnimate = 0.4f;
            animationSpeed = 0.005f;

            //Game over initializations 
            isGameOver = false; 
            gameOverTextPosition = new Vector2(windowWidth / 2, windowHeight / 2);
            gameOverTextScale = 5.0f;
            gameOverTextSize = new Rectangle(0, 0, 556, 126);
            gameOverCurrentTime = 0.0f; 

            //Fade To Black initialization 
            fadeToBlackAlpha = 0.0f;
            fadeToBlackDesiredAlpha = 0.8f;
            fadeToBlackPosition = new Vector2(0.0f, 0.0f);
            fadeToBlackCurrentTime = 0.0f;

            playGameOverMusic = true;

            particleBar = new ParticleSpewer(
                healthBarComponent.getPosition().X + health / 100f * healthBarComponent.getSize().X - 1, healthBarComponent.getPosition().Y,
                50, 20, MathHelper.ToRadians(-90), MathHelper.ToRadians(90),
                50, 200, 2, 200, 90, 90, 0.5f, 1, 1, 1, true, 0.75f);
            particleBar.Absolute = true;

            newHighScore = false;

            //Test for a font component
            replayText = new FontComponent(new Vector2(gameOverTextPosition.X-250, gameOverTextPosition.Y + 40), new Vector2(100, 100));
            timerText = new FontComponent(new Vector2(bannerComponent.getPosition().X + 355, bannerComponent.getPosition().Y - 12), new Vector2(100, 100));

            //Button Initializations
            replayButton = new Button(replayText.getPosition(), replayText.getSize());
            replayText.setAlpha(0.0f);

            mainMenuText = new FontComponent(new Vector2(gameOverTextPosition.X + 100, gameOverTextPosition.Y + 40), new Vector2(100, 100));
            mainMenuText.alpha = 0.0f;
            mainMenuButton = new Button(mainMenuText.getPosition(), mainMenuText.getSize());


            scoreDisplayText = new FontComponent(new Vector2(windowWidth / 2-150, windowHeight / 2 + 100), new Vector2(300, 100));
            scoreDisplayText.setFontScale(2.0f);
            scoreDisplayText.alpha = 0.0f;
            scoreDisplayText.setOriginCenter();

            highScoreText = new FontComponent(new Vector2(windowWidth/2-150, windowHeight/2 - 300), new Vector2(300, 300));
            highScoreText.setFontScale(6.0f);
            highScoreText.setOriginCenter();
        }