Exemple #1
0
        public override void Draw(GdxSpriteBatch spriteBatch, float x, float y, float width, float height)
        {
            Sprite.SetBounds(x, y, width, height);

            Color color = Sprite.Color;

            Sprite.Color = ColorExt.Multiply(color, spriteBatch.Color);

            Sprite.Draw(spriteBatch);
            Sprite.Color = color;
        }
Exemple #2
0
        public void Draw(GdxSpriteBatch spriteBatch, float x, float y, float width, float height)
        {
            float centerColX = x + LeftWidth;
            float rightColX  = x + width - RightWidth;
            float middleRowY = y + BottomHeight;
            float topRowY    = y + height - TopHeight;

            Color color = ColorExt.Multiply(Color, spriteBatch.Color);

            color = Color.FromNonPremultiplied(color.R, color.G, color.B, color.A);

            if (_bottomLeft != -1)
            {
                Set(_bottomLeft, x, y, centerColX - x, middleRowY - y, color);
            }
            if (_bottomCenter != -1)
            {
                Set(_bottomCenter, centerColX, y, rightColX - centerColX, middleRowY - y, color);
            }
            if (_bottomRight != -1)
            {
                Set(_bottomRight, rightColX, y, x + width - rightColX, middleRowY - y, color);
            }
            if (_middleLeft != -1)
            {
                Set(_middleLeft, x, middleRowY, centerColX - x, topRowY - middleRowY, color);
            }
            if (_middleCenter != -1)
            {
                Set(_middleCenter, centerColX, middleRowY, rightColX - centerColX, topRowY - middleRowY, color);
            }
            if (_middleRight != -1)
            {
                Set(_middleRight, rightColX, middleRowY, x + width - rightColX, topRowY - middleRowY, color);
            }
            if (_topLeft != -1)
            {
                Set(_topLeft, x, topRowY, centerColX - x, y + height - topRowY, color);
            }
            if (_topCenter != -1)
            {
                Set(_topCenter, centerColX, topRowY, rightColX - centerColX, y + height - topRowY, color);
            }
            if (_topRight != -1)
            {
                Set(_topRight, rightColX, topRowY, x + width - rightColX, y + height - topRowY, color);
            }

            spriteBatch.Draw(Texture, _vertices, 0, _index);
        }