/// <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); }
/// <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(); }