//* -----------------------------------------------------------------------* /// <summary>フォントを描画します。</summary> /// /// <param name="pos">座標</param> /// <param name="sprite">スプライト描画管理クラス</param> public void draw(Vector2 pos, CSprite sprite) { if (!(font == null || font.resource == null)) { if (isUseGradation) { __drawEx(pos, sprite); } else { __draw(pos, sprite); } } }
//* -----------------------------------------------------------------------* /// <summary>グラデーション機能を使用せずにフォントを描画します。</summary> /// /// <param name="pos">座標</param> /// <param name="sprite">スプライト描画管理クラス</param> private void __draw(Vector2 pos, CSprite sprite) { Vector2 origin = getOrigin(); if (isDrawShadow) { sprite.add(font.resource, text, pos - origin + gapShadow, new Color(0, 0, 0, ( byte )(colorAlpha / 1.5f)), 0.0f, Vector2.Zero, scale, SpriteEffects.None, layer + 0.0001f); } sprite.add(font.resource, text, pos - origin, new Color( ( byte )colorRed, ( byte )colorGreen, ( byte )colorBlue, ( byte )colorAlpha), 0.0f, Vector2.Zero, scale, SpriteEffects.None, layer); }
//* -----------------------------------------------------------------------* /// <summary>グラデーション機能を使用してフォントを描画します。</summary> /// /// <param name="pos">座標</param> /// <param name="sprite">スプライト描画管理クラス</param> private void __drawEx(Vector2 pos, CSprite sprite) { SFontGradation[] _gradation = gradation; Vector2 origin = getOrigin(_gradation); Vector2 _pos; foreach (SFontGradation g in _gradation) { _pos = pos + g.pos - origin; if (isDrawShadow) { sprite.add(font.resource, g.strByte, _pos + gapShadow, g.argbShadow, g.rotate, Vector2.Zero, g.scale, SpriteEffects.None, layer + 0.0001f); } sprite.add(font.resource, g.strByte, _pos, g.argbText, g.rotate, Vector2.Zero, g.scale, SpriteEffects.None, layer); } }