예제 #1
0
파일: Game1.cs 프로젝트: jakerose27/Puddle
        protected override void Draw(GameTime gameTime)
        {
            spriteBatch.Begin();

            if (newMapLoad)
            {
                GraphicsDevice.Clear(Color.Black);
                string[] fileName = player1.newMap.Split('.');
                string levelNumber = fileName[0].Remove(0, 13);
                string levelName = String.Format("Level {0}", levelNumber);
                TextField message = new TextField(
                    levelName,
                    new Vector2(
                        (graphics.PreferredBackBufferWidth / 2) - 50,
                        (graphics.PreferredBackBufferHeight / 2) - 50
                    ),
                    Color.White
                    );
                message.loadContent(Content);
                message.draw(spriteBatch);

                float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
                newMapTimer -= elapsed;
                if (newMapTimer < 0)
                {
                    LoadMap(player1.newMap);//Timer expired, execute action
                    newMapTimer = LOAD_SCREEN_TIME;   //Reset Timer
                }
            }
            else
            {
                // Draw background
                spriteBatch.Draw(
                    background,
                    new Rectangle(
                        0, 0,
                        graphics.PreferredBackBufferWidth,
                        graphics.PreferredBackBufferHeight
                    ),
                    Color.White
                );

                // Draw contents of the level
                level.Draw(spriteBatch);

                if (level.message != "")
                {
                    TextField message = new TextField(
                        level.message,
                        new Vector2(16, (graphics.PreferredBackBufferHeight ) - 28),
                        Color.White
                    );

                    message.loadContent(Content);
                    message.draw(spriteBatch);
                }
            }
            spriteBatch.End();
            base.Draw(gameTime);
        }
예제 #2
0
파일: Game1.cs 프로젝트: rliebz/Puddle
        protected override void Draw(GameTime gameTime)
        {
            spriteBatch.Begin();

            if (loadingMap)
            {
                string levelDisplay = player1.newMap.Equals("Win") ? "Congratulations!" :
                    String.Format("Level {0}", player1.newMap);

                GraphicsDevice.Clear(Color.Black);
                TextField message = new TextField(
                    levelDisplay,
                    new Vector2(
                        (graphics.PreferredBackBufferWidth / 2) - 50,
                        (graphics.PreferredBackBufferHeight / 2) - 50
                    ),
                    Color.White
                );
                message.loadContent(Content);
                message.draw(spriteBatch);

            }
            else
            {
                // Draw background
                spriteBatch.Draw(
                    background,
                    new Rectangle(
                        0, 0,
                        graphics.PreferredBackBufferWidth,
                        graphics.PreferredBackBufferHeight
                    ),
                    Color.White
                );

                // Draw intro slides
                if (intro)
                {
                    float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
                    introScreenTimer -= elapsed;
                    spriteBatch.Draw(
                        introImage,
                        new Rectangle(
                        0, 0,
                        720,
                        540
                        ),
                        Color.White
                    );
                    if(introScreenTimer < 0 && slideCount != 5)
                    {
                        slideCount += 1;
                        introImage = Content.Load<Texture2D>(String.Format("Slides/Slide{0}.png", slideCount));
                        introScreenTimer = INTRO_SCREEN_TIME;
                    }
                }

                // Draw contents of the level
                level.Draw(spriteBatch);

                if (paused && !intro)
                {
                    spriteBatch.Draw(

                        pauseScreens[player1.numPowers],
                        new Rectangle(
                        0, graphics.PreferredBackBufferHeight/2 - 270,
                        720,
                        540
                        ),
                        Color.White
                    );
                }

                // Display picked up messages
                if (!String.IsNullOrEmpty(level.message))
                {
                    TextField message = new TextField(
                        level.message,
                        new Vector2(16, (graphics.PreferredBackBufferHeight ) - 28),
                        Color.White
                    );

                    message.loadContent(Content);
                    message.draw(spriteBatch);
                }
            }
            spriteBatch.End();
            base.Draw(gameTime);
        }
예제 #3
0
파일: Sprite.cs 프로젝트: rliebz/Puddle
 //        public virtual void Update(Level level, ContentManager content)
 //        { }
 public virtual void LoadContent(ContentManager content)
 {
     blankImage = content.Load<Texture2D>("blank.png");
     image = content.Load<Texture2D>(imageFile);
     if (displayText != "")
     {
         displayMessage = new TextField(
             displayText,
             new Vector2(spriteX + displayTextX, spriteY + displayTextY),
             displayTextColor
         );
         displayMessage.loadContent(content);
     }
     foreach (string file in soundFiles)
     {
         if (!soundList.ContainsKey(file))
         {
             SoundEffect effect = content.Load<SoundEffect>(file);
             soundList.Add(file, effect);
         }
     }
 }