public CoinSprite(int positionX, int positionY, CoinType coinType, CoinFrame coinFrame) { Location = new Vector2(positionX, positionY); WidthHeight = new Vector2(ItemSpriteFactory.ITEM_WIDTH, ItemSpriteFactory.ITEM_HEIGHT); Boundary = new Rectangle((int)Location.X, (int)Location.Y, (int)WidthHeight.X, (int)WidthHeight.Y); type = coinType; frame = coinFrame; currentFrame = ItemSpriteFactory.Coin(type, frame); EntityType = TileMapInterpreter.Entities.COIN; }
public static Rectangle Coin(CoinType type, CoinFrame frame) { Rectangle rectangle = new Rectangle(); if (type == CoinType.Static) { if (frame == CoinFrame.FirstFrame) { rectangle = new Rectangle(0, ITEM_HEIGHT * 5, ITEM_WIDTH, ITEM_HEIGHT); } else if (frame == CoinFrame.Rotate1) { rectangle = new Rectangle(ITEM_WIDTH, ITEM_HEIGHT * 5, ITEM_WIDTH, ITEM_HEIGHT); } else if (frame == CoinFrame.Rotate2) { rectangle = new Rectangle(ITEM_WIDTH * 2, ITEM_HEIGHT * 5, ITEM_WIDTH, ITEM_HEIGHT); } else if (frame == CoinFrame.Rotate3) { rectangle = new Rectangle(ITEM_WIDTH * 3, ITEM_HEIGHT * 5, ITEM_WIDTH, ITEM_HEIGHT); } } else if (type == CoinType.Block) { if (frame == CoinFrame.FirstFrame) { rectangle = new Rectangle(0, ITEM_HEIGHT * 6, ITEM_WIDTH, ITEM_HEIGHT); } else if (frame == CoinFrame.Rotate1) { rectangle = new Rectangle(ITEM_WIDTH, ITEM_HEIGHT * 6, ITEM_WIDTH, ITEM_HEIGHT); } else if (frame == CoinFrame.Rotate2) { rectangle = new Rectangle(ITEM_WIDTH * 2, ITEM_HEIGHT * 6, ITEM_WIDTH, ITEM_HEIGHT); } else if (frame == CoinFrame.Rotate3) { rectangle = new Rectangle(ITEM_WIDTH * 3, ITEM_HEIGHT * 6, ITEM_WIDTH, ITEM_HEIGHT); } } return(rectangle); }
public void Update(GameTime gameTime) { elapsedFrames += (float)gameTime.ElapsedGameTime.TotalSeconds * 60; if (WasHit) { if (elapsedFrames > 5) { WasHit = false; elapsedFrames = 0; } } if (elapsedFrames > 5 && frame == CoinFrame.FirstFrame) { frame = CoinFrame.Rotate1; currentFrame = ItemSpriteFactory.Coin(type, frame); elapsedFrames = 0; } else if (elapsedFrames > 5 && frame == CoinFrame.Rotate1) { frame = CoinFrame.Rotate2; currentFrame = ItemSpriteFactory.Coin(type, frame); elapsedFrames = 0; } else if (elapsedFrames > 5 && frame == CoinFrame.Rotate2) { frame = CoinFrame.Rotate3; currentFrame = ItemSpriteFactory.Coin(type, frame); elapsedFrames = 0; } else if (elapsedFrames > 5 && frame == CoinFrame.Rotate3) { frame = CoinFrame.FirstFrame; currentFrame = ItemSpriteFactory.Coin(type, frame); elapsedFrames = 0; } }