Beispiel #1
0
 /// <summary>
 /// Create a new <see cref="Yna.Engine.Graphics.YnEntity"/> with a procedural texture.
 /// </summary>
 /// <param name='rectangle'>Rectangle of the texture</param>
 /// <param name='color'>Color of the texture</param>
 public YnEntity(Rectangle rectangle, Color color)
     : this()
 {
     _rectangle = rectangle;
     _position = rectangle.ToVector2();
     _texture = YnGraphics.CreateTexture(color, rectangle.Width, rectangle.Height);
     _assetLoaded = true;
 }
Beispiel #2
0
        public void DrawText(string text, Rectangle size, Color tint, float scale)
        {
            var textSize = GetSpriteFontByName("minecraft").MeasureString(text) * scale;
            if (tint == null)
                tint = Color.White;

            Vector2 origin;
            if (scale > 1f)
            {
                origin = textSize / 128;
                Console.WriteLine($"TextSize: " + textSize.ToString());
                Console.WriteLine("Origin: " + origin.ToString());
            }
            else
                origin = Vector2.Zero;


            Vector2 offsetPos = new Vector2(size.X + 2, size.Y + 2); //offset used for shadow
            spriteBatch.DrawString(GetSpriteFontByName("minecraft"), text, offsetPos, Color.Black, 0, origin, scale, SpriteEffects.None, 0f);
            spriteBatch.DrawString(GetSpriteFontByName("minecraft"), text, size.ToVector2(), tint, 0, origin, scale, SpriteEffects.None, 0f);
        }