コード例 #1
0
        /// <summary>
        /// Draws all of the assets for the first level.
        /// </summary>
        /// <param name="gameTime">The game's time</param>
        /// <param name="spriteBatch">The sprite batch used in drawing</param>
        public void Draw(GameTime gameTime, SpriteBatch spriteBatch)
        {
            //Drawing environment
            var source1 = new Rectangle(64 + 16 * 1, 0, 16, 16);
            var source2 = new Rectangle(64 + 16 * 2, 0, 16, 16);
            var source3 = new Rectangle(64 + 16 * 3, 0, 16, 16);
            var source4 = new Rectangle(80, 32, 16, 16);

            var source5 = new Rectangle(20 * 16, 3 * 16, 32, 32);
            var source6 = new Rectangle(33 * 16, 10 * 16, 16, 16);

            spriteBatch.Draw(texture, new Vector2(100 - 48, 250 - 48), source5, Color.DarkSlateBlue, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(100 - 32, 250 - 32), source6, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);


            spriteBatch.Draw(texture, new Vector2(77, 44), source1, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(700, 300), source1, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(69, 444), source1, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(123, 200), source1, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(221, 88), source1, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(599, 111), source2, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(600, 400), source2, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(326, 214), source2, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(666, 99), source2, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(428, 275), source2, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(497, 7), source3, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(555, 470), source3, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(710, 460), source3, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(200, 50), source3, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(501, 66), source3, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(110, 110), source4, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(510, 234), source4, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(400, 250), source4, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(400, 767), source4, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);

            //Drawing enemies
            foreach (var enemy in enemiesH)
            {
                enemy.Draw(gameTime, spriteBatch);
            }
            foreach (var enemy in enemiesV)
            {
                enemy.Draw(gameTime, spriteBatch);
            }

            //Drawing player and health
            player.Draw(gameTime, spriteBatch);
            health.Draw(gameTime, spriteBatch);

            spriteBatch.DrawString(_spriteFont, "" + numEnemies, new Vector2(health.Position.X + 50, health.Position.Y), Color.White);
        }
コード例 #2
0
ファイル: Level2.cs プロジェクト: jgcarder/A-Warrior-for-Fun
        /// <summary>
        /// Draws all of the assets for the first level.
        /// </summary>
        /// <param name="gameTime">The game's time</param>
        /// <param name="spriteBatch">The sprite batch used in drawing</param>
        public void Draw(GameTime gameTime, SpriteBatch spriteBatch)
        {
            //Drawing environment
            float playerX = MathHelper.Clamp(player.Position.X, 350, 2100);
            float offsetX = 350 - playerX;

            Matrix transform;

            //Background & Playground
            transform = Matrix.CreateTranslation(offsetX, 0, 0);
            spriteBatch.Begin(samplerState: SamplerState.PointClamp, transformMatrix: transform);
            spriteBatch.Draw(_background, Vector2.Zero, Color.White);

            var source4 = new Rectangle(20 * 16, 3 * 16, 32, 32);
            var source5 = new Rectangle(33 * 16, 10 * 16, 16, 16);

            spriteBatch.Draw(texture, new Vector2(100 - 48, 250 - 48), source4, Color.DarkSlateBlue, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            spriteBatch.Draw(texture, new Vector2(100 - 32, 250 - 32), source5, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);

            var source = new Rectangle(80, 32, 16, 16);

            for (int i = 0; i < 16; i++)
            {
                spriteBatch.Draw(texture, new Vector2(1968, 32 * i), source, Color.White, 0f, new Vector2(), 2f, SpriteEffects.None, 0);
            }

            //Drawing enemies
            foreach (var enemy in enemiesH)
            {
                enemy.Draw(gameTime, spriteBatch);
            }
            foreach (var enemy in enemiesV)
            {
                enemy.Draw(gameTime, spriteBatch);
            }
            foreach (var enemy in enemiesO)
            {
                enemy.Draw(gameTime, spriteBatch);
            }

            //Drawing player and health
            player.Draw(gameTime, spriteBatch);
            if (offsetX <= 0)
            {
                float tempX = playerX - 350;
                health.Position = new Vector2(tempX, health.Position.Y);
            }
            else
            {
                health.Position = new Vector2(3, 432);
            }
            health.Draw(gameTime, spriteBatch);
            spriteBatch.DrawString(_spriteFont, "" + numEnemies, new Vector2(health.Position.X + 50, health.Position.Y), Color.White);

            spriteBatch.End();

            transform = Matrix.CreateTranslation(offsetX * 1.1f, 0, 0);
            spriteBatch.Begin(samplerState: SamplerState.PointClamp, transformMatrix: transform);
            spriteBatch.Draw(_clouds, Vector2.Zero, Color.White);
            spriteBatch.DrawString(_spriteFont, "" + gameTime.TotalGameTime, Vector2.Zero, Color.White);
            spriteBatch.End();
        }