private int arbitraryNumber; //yes its arbitray. idk why it works but it does public ParallaxBackground(Room room, string spriteName, float layer, float distSpeed) { arbitraryNumber = 32; Room = room; DistanceSpeed = distSpeed; Sprite = new SpriteData(); Sprite.Layer = layer / 1000; windowSize = new Vector2(Room.Game.GraphicsDevice.Viewport.Width, Room.Game.GraphicsDevice.Viewport.Height); Sprite.Size = windowSize * 1.1f; AssetManager.RequestTexture(spriteName, (frame) => { Sprite.Change(frame); drawFrom = windowSize - Sprite.Size; drawFrom.Y += arbitraryNumber; }); }
public CompressedTouhouBall(Room room, Vector2 pos, float dir) : base(room, pos, dir) { outlineHue = 0; outlineColor = new Color(255, 255, 255); outlineSprite = new SpriteData(); outlineSprite.Layer = 4f / 100; outlineSprite.Size = new Vector2(32, 32); outlineSprite.Offset = outlineSprite.Size / 2; Speed = 3; Sprite.Size = new Vector2(24, 24); Sprite.Offset = Sprite.Size / 2; Hitbox = AddVectorToRect(new Rectangle(0, 0, (int)Sprite.Size.X, (int)Sprite.Size.Y), -Sprite.Offset * 2); Sprite.Layer = 5f / 100; AssetManager.RequestTexture("touhouBall", (frames) => { Sprite.Change(frames); }); AssetManager.RequestTexture("touhouBallOutline", (frames) => { outlineSprite.Change(frames); }); }
public BossObject(Room room, Vector2 pos) : base(room, pos, new Vector2(0, 0), new Vector2(64, 64)) { life = maxLife; stepCooldown = 0; sprayDir = minSprayDir; attackMode = 3; target = null; remainingStepsBeforeChange = stepsBeforeAttackChange; Sprite = new SpriteData(); Sprite.Size = new Vector2(64, 64); Sprite.Layer = Layer; Sprite.Speed = 0.1f; Light = new LightData(); Light.Brightness = 64; Light.Position = Position + (Size / 2); healthbar = new SpriteData(); healthbar.Size = new Vector2(384, 32); healthbar.Source = new Rectangle(0, 0, (int)healthbar.Size.X, (int)healthbar.Size.Y); healthbar.Layer = 0.98f; healthbarFrame = new SpriteData(); healthbarFrame.Size = new Vector2(384, 32); healthbarFrame.Layer = 0.99f; drawHealthbarFrom = new Vector2((Room.Game.GraphicsDevice.Viewport.Width - healthbarFrame.Size.X) / 2, healthbarTopPadding); AssetManager.RequestTexture("clownpiece", (frames) => { Sprite.Change(frames); }); AssetManager.RequestTexture("clownpieceHealthbar", (frames) => { healthbar.Change(frames); }); AssetManager.RequestTexture("clownpieceHealthbarFrame", (frames) => { healthbarFrame.Change(frames); }); }