public ParallaxSprite(Camera camera, Rectangle frame, float layerDepth, int millisecondsPerFrame, Vector2 position, Texture2D texture) : base(frame, frame, millisecondsPerFrame, position, texture) { this.camera = camera; this.layerDepth = layerDepth; Vector2 cameraSize = new Vector2(camera.Frame.Width, camera.Frame.Height); Vector2 stageSize = camera.StageSize; // Quadratic relationship between layerDepth and apparent "distance" cameraRange = (stageSize - cameraSize); maxDrift = cameraRange * (float)Math.Pow(layerDepth, 2); }
public void Draw(SpriteBatch spriteBatch, Camera camera) { string coins = String.Format("X {0}", megaman.Coins.ToString().PadLeft(2, '0')); string lives = String.Format("X {0}", megaman.Lives); string score = String.Format("{0}", megaman.Points.ToString().PadLeft(8, '0')); string time = String.Format("{0}", stage.Timer); string health = String.Format("Health: {0}", megaman.MMHealth.ToString()); spriteBatch.Draw(characterTexture, camera.Offset + characterPosition, new Rectangle(0, 0, 32, 32), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); spriteBatch.Draw(characterTexture, camera.Offset + lifePosition, new Rectangle(0, 0, 32, 32), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); spriteBatch.Draw(lifeTankTexture, camera.Offset + lifeTankPosition, new Rectangle(0, 0, 32, 32), Color.White, 0, Vector2.Zero, lifeTankScale, SpriteEffects.None, 0); spriteBatch.Draw(emptyHealthbarTexture, camera.Offset + emptyHealthbarPosition, emptyHealthbarRect, Color.White); spriteBatch.Draw(fullHealthbarTexture, camera.Offset + fullHealthbarPosition, fullHealthbarRect, Color.White); spriteBatch.DrawString(font, coins, camera.Offset + lifeTankTextPosition, Color.White); spriteBatch.DrawString(font, lives, camera.Offset + lifeTextPosition, Color.White); spriteBatch.DrawString(font, score, camera.Offset + scorePosition, Color.White); spriteBatch.DrawString(font, time, camera.Offset + timePosition, Color.White); spriteBatch.Draw(characterTexture, camera.Offset + characterPosition, new Rectangle(0, 0, 32, 32), Color.White, 0, Vector2.Zero, 0.75f, SpriteEffects.None, 0); }
public void Draw(SpriteBatch spriteBatch, Camera camera) { currentSprite.Draw(spriteBatch, camera); }
public Building4(Camera camera, ContentManager content, float layerDepth, Vector2 position) : base(camera, new Rectangle(0, 0, 25, 124), layerDepth, 0, position, content.Load<Texture2D>("Parallax/furthestSkyscraper")) { }
public Building2(Camera camera, ContentManager content, float layerDepth, Vector2 position) : base(camera, new Rectangle(0, 0, 48, 288), layerDepth, 0, position, content.Load<Texture2D>("Parallax/secondClosestSkyscraper")) { }
public ParallaxSpriteFactory(Camera camera, ContentManager content) { this.camera = camera; this.content = content; }
public void Draw(SpriteBatch spriteBatch, Camera camera) { spriteBatch.DrawString(font, textSource.GetText(), position, Color.White); }
public void Draw(SpriteBatch spriteBatch, Camera camera) { }
public override void Draw(SpriteBatch spriteBatch, Camera camera) { position += drift; base.Draw(spriteBatch, camera); Position -= drift; }
public virtual void Draw(SpriteBatch spriteBatch, Camera camera) { visible = AABB.Intersects(camera.Frame); if (active && visible) { Vector2 tempPosition = new Vector2(position.X, position.Y); spriteBatch.Draw(texture, tempPosition, frame, Color.White, rotation, Vector2.Zero, scale, effects, layerDepth); #if DEBUG drawHitbox(spriteBatch, 2, Color.Red, tempPosition); #endif } }
public void Draw(SpriteBatch spriteBatch, Camera camera) { spriteBatch.DrawString(font, text, position, selected ? Color.Red : Color.White); }
public City(Camera camera, ContentManager content, float layerDepth, Vector2 position) : base(camera, new Rectangle(0, 0, 384, 384), layerDepth, 0, position, content.Load<Texture2D>("Parallax/city")) { }