Ejemplo n.º 1
0
        private void DrawRectangle(DrawnRectangle rectangle)
        {
            DrawnLine top = new DrawnLine
            {
                Name = rectangle.Name,
                Color = rectangle.Color,
                X = rectangle.X,
                Y = rectangle.Y,
                EndX = rectangle.X + rectangle.Size.Width,
                EndY = rectangle.Y,
                Thickness = rectangle.Thickness
            };

            DrawnLine right = new DrawnLine
            {
                Name = rectangle.Name,
                Color = rectangle.Color,
                X = rectangle.X + rectangle.Size.Width,
                Y = rectangle.Y,
                EndX = rectangle.X + rectangle.Size.Width,
                EndY = rectangle.Y + rectangle.Size.Height,
                Thickness = rectangle.Thickness
            };

            DrawnLine bottom = new DrawnLine
            {
                Name = rectangle.Name,
                Color = rectangle.Color,
                X = rectangle.X + rectangle.Size.Width,
                Y = rectangle.Y + rectangle.Size.Height,
                EndX = rectangle.X,
                EndY = rectangle.Y + rectangle.Size.Height,
                Thickness = rectangle.Thickness
            };

            DrawnLine left = new DrawnLine
            {
                Name = rectangle.Name,
                Color = rectangle.Color,
                X = rectangle.X,
                Y = rectangle.Y + rectangle.Size.Height,
                EndX = rectangle.X,
                EndY = rectangle.Y,
                Thickness = rectangle.Thickness
            };

            DrawLine(top);
            DrawLine(right);
            DrawLine(bottom);
            DrawLine(left);
        }
Ejemplo n.º 2
0
        private void DrawLine(DrawnLine line)
        {
            Vector2 position = new Vector2(line.X, line.Y);
            Vector2 endPos = new Vector2(line.EndX, line.EndY);
            Vector2 edge = endPos - position;
            float angle = (float) Math.Atan2(edge.Y, edge.X);

            Texture2D pixelTexture = textureManager.PixelTextures[line.Name];
            SpriteBatch.Draw(pixelTexture,new Rectangle((int)position.X,(int)position.Y, (int)edge.Length(),(int)line.Thickness ),
                null,
                line.Color,
                angle,
                Vector2.Zero,
                SpriteEffects.None, 1);
        }