private StaticImageData GetStaticImageData(int height, int width, int xPosition, int yPosition, int movementSpeed, String spriteDir, GraphicsEnum graphicsEnum) { var data = new StaticImageData(); data.GraphicsEnum = graphicsEnum; data.Height = height; data.Width = width; data.XPosition = xPosition; data.MovementSpeed = movementSpeed; data.YPosition = yPosition; data.SpriteSheet = _content.Load<Texture2D>(spriteDir + graphicsEnum); return data; }
public Vector2 GetCloudPosition(StaticImageData cloud) { return new Vector2((float)cloud.XPosition, (float)cloud.YPosition); }
private void DrawClouds(StaticImageData cloudOne, StaticImageData cloudTwo, StaticImageData cloudThree) { CalculateObjectPositionX(cloudOne); CalculateObjectPositionX(cloudTwo); CalculateObjectPositionX(cloudThree); Color cloudColor = (IsSleeping) ? new Color(15, 24, 28) : Color.White; _spriteBatch.Draw(cloudOne.SpriteSheet, GetCloudPosition(cloudOne), cloudOne.GetSourceRectangle(), cloudColor, 0.0f, cloudOne.GetOriginVectorCenter(), 1.0f, SpriteEffects.None, 0.0f); _spriteBatch.Draw(cloudTwo.SpriteSheet, GetCloudPosition(cloudTwo), cloudTwo.GetSourceRectangle(), cloudColor, 0.0f, cloudTwo.GetOriginVectorCenter(), 1.0f, SpriteEffects.None, 0.0f); _spriteBatch.Draw(cloudThree.SpriteSheet, GetCloudPosition(cloudThree), cloudThree.GetSourceRectangle(), cloudColor, 0.0f, cloudThree.GetOriginVectorCenter(), 1.0f, SpriteEffects.None, 0.0f); }
private void DrawBackgroundDetail(StaticImageData bgDetail, StaticImageData bgGradientNight, StaticImageData bgGradient) { for (int i = 0; i <= this.Window.ClientBounds.Width; i++) { if (IsSleeping) { _spriteBatch.Draw(bgGradientNight.SpriteSheet, new Vector2(i, 0), bgGradientNight.GetSourceRectangle(), Color.White, 0.0f, bgGradientNight.GetOriginVectorLeftBottom(), 1.0f, SpriteEffects.None, 0.0f); } else { _spriteBatch.Draw(bgGradient.SpriteSheet, new Vector2(i, 0), bgGradient.GetSourceRectangle(), Color.White, 0.0f, bgGradient.GetOriginVectorLeftBottom(), 1.0f, SpriteEffects.None, 0.0f); } } _spriteBatch.Draw(bgDetail.SpriteSheet, new Vector2(0, this.Window.ClientBounds.Height), bgDetail.GetSourceRectangle(), Color.White, 0.0f, bgDetail.GetOriginVectorLeftBottom(), 1.0f, SpriteEffects.None, 0.0f); _spriteBatch.Draw(bgDetail.SpriteSheet, new Vector2(bgDetail.Width, this.Window.ClientBounds.Height), bgDetail.GetSourceRectangle(), Color.White, 0.0f, bgDetail.GetOriginVectorLeftBottom(), 1.0f, SpriteEffects.None, 0.0f); _spriteBatch.Draw(bgDetail.SpriteSheet, new Vector2(bgDetail.Width * 2, this.Window.ClientBounds.Height), bgDetail.GetSourceRectangle(), Color.White, 0.0f, bgDetail.GetOriginVectorLeftBottom(), 1.0f, SpriteEffects.None, 0.0f); _spriteBatch.Draw(bgDetail.SpriteSheet, new Vector2(bgDetail.Width * 3, this.Window.ClientBounds.Height), bgDetail.GetSourceRectangle(), Color.White, 0.0f, bgDetail.GetOriginVectorLeftBottom(), 1.0f, SpriteEffects.None, 0.0f); }
private void CalculateObjectPositionX(StaticImageData Object) { Object.XPosition = Object.XPosition + Object.MovementSpeed; if (this.Window.ClientBounds.Width + 250 < Object.XPosition) { Object.XPosition = -250; } }