Beispiel #1
0
 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;
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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;
            }
        }