public static Vector2 Draw4(SpriteFontX __inst, SpriteBatch sb, char[] str, Vector2 position, Vector2 maxBound, Vector2 scale, XnaColor color) { Func <Vector2, Vector2> DrawSp = (newPos) => __inst.Draw(sb, str, newPos, maxBound, scale, color); var config = Resource.Config; var alterTextCfg = config.AlterTextCfg; var alterFontCfg = alterTextCfg.AlterFontCfg; var protagonistLineColor = alterFontCfg.ProtagonistLineColor; var antagonistLineColor = alterFontCfg.AntagonistLineColor; if (TestColor(color, XnaColor.Black)) { if (alterTextCfg.Enabled && alterTextCfg.UseBlackBorder) { position.X--; position.Y--; float X = position.X, Y = position.Y; position = new Vector2(X - borderSize, Y - borderSize); DrawSp(position); position = new Vector2(X + borderSize, Y - borderSize); DrawSp(position); position = new Vector2(X + borderSize, Y + borderSize); DrawSp(position); position = new Vector2(X - borderSize, Y + borderSize); DrawSp(position); position = new Vector2(X, Y + borderSize); DrawSp(position); position = new Vector2(X, Y - borderSize); DrawSp(position); position = new Vector2(X - borderSize, Y); DrawSp(position); position = new Vector2(X + borderSize, Y); return(DrawSp(position)); } } return(DrawSp(position)); }
public static void newTex(SpriteFontX __instance, ref Texture2D ___CurrentTex2d) { _newTex(__instance); var nullOrNot = __instance == null ? "null" : "notnull"; nullOrNot.ToString(); // fix __instance == null ??? charTextures.Add(___CurrentTex2d, __instance); }
public static void SetSpriteFont(int key, SpriteFontX _font) { switch (key) { case 0: font = _font; break; case 1: dfont = _font; break; case 2: scfont = _font; break; case 3: scdfont = _font; break; } }
public override void LoadContent() { // 棋盘 this._board = this._content.Load <Texture2D>("img\\board"); // HUD this._gameHUD.Load(this._content, this._graphics); // 额外HUD文字 this._fontX = new SpriteFontX(FNAFont.Font16, this._graphics); // 音效 this._placeChessSound = this._content.Load <SoundEffect>("audio\\place"); base.LoadContent(); }
public void Load(ContentManager content, GraphicsDeviceManager graphics) { this._fontX = new SpriteFontX(FNAFont.Font10, graphics); }
public static Vector2 Draw3(SpriteFontX __inst, SpriteBatch sb, string str, Vector2 position, Vector2 maxBound, Vector2 scale, XnaColor color) { return(Draw4(__inst, sb, str.ToCharArray(), position, maxBound, scale, color)); }
public static Vector2 Draw2(SpriteFontX __inst, SpriteBatch sb, char[] str, Vector2 position, XnaColor color) { return(Draw4(__inst, sb, str, position, new Vector2(float.MaxValue, float.MaxValue), Vector2.One, color)); }
public static Vector2 Draw1(SpriteFontX __inst, SpriteBatch sb, string str, Vector2 position, XnaColor color) { return(Draw4(__inst, sb, str.ToCharArray(), position, new Vector2(float.MaxValue, float.MaxValue), Vector2.One, color)); }
protected override void Initialize() { try { Main.fpstimer = new System.Threading.Timer(new TimerCallback(this.FpsRecord), (object)null, 0, 1000); if (!File.Exists("Content/Music/00.xna")) { StreamWriter streamWriter = new StreamWriter("Content/Music/00.xna", false); streamWriter.WriteLine("Fantasy Danmaku Festival"); streamWriter.WriteLine("0"); streamWriter.Close(); Cry.Encry("Content/Music/00.xna", 2); } if (!File.Exists("Content/Data/4.xna")) { PlayData playData = new PlayData(); FileStream fileStream = new FileStream("Content/Data/4.xna", FileMode.Create); new BinaryFormatter().Serialize((Stream)fileStream, (object)playData); fileStream.Close(); Cry.Encry("Content/Data/4.xna", 2); } if (!File.Exists("Content/Data/5.xna")) { PracticeData practiceData = new PracticeData(); FileStream fileStream = new FileStream("Content/Data/5.xna", FileMode.Create); new BinaryFormatter().Serialize((Stream)fileStream, (object)practiceData); fileStream.Close(); Cry.Encry("Content/Data/5.xna", 2); } if (!File.Exists("Content/Data/8.xna")) { SpecialData specialData = new SpecialData(); FileStream fileStream = new FileStream("Content/Data/8.xna", FileMode.Create); new BinaryFormatter().Serialize((Stream)fileStream, (object)specialData); fileStream.Close(); Cry.Encry("Content/Data/8.xna", 2); } if (!File.Exists("Content/Music/10.xna")) { new StreamWriter("Content/Data/10.xna", false).Close(); Cry.Encry("Content/Data/10.xna", 2); } Main.rand = new Random(); Main.font = new SpriteFontX(new Font("宋体", 12f, FontStyle.Regular, GraphicsUnit.Pixel), (IGraphicsDeviceService)this.graphics, TextRenderingHint.ClearTypeGridFit); Main.dfont = new SpriteFontX(new Font("微软雅黑", 16f, FontStyle.Bold, GraphicsUnit.Pixel), (IGraphicsDeviceService)this.graphics, TextRenderingHint.AntiAlias); Main.scfont = new SpriteFontX(new Font("宋体", 16f, FontStyle.Bold, GraphicsUnit.Pixel), (IGraphicsDeviceService)this.graphics, TextRenderingHint.AntiAlias); Main.scdfont = new SpriteFontX(new Font("宋体", 10f, FontStyle.Bold, GraphicsUnit.Pixel), (IGraphicsDeviceService)this.graphics, TextRenderingHint.SingleBitPerPixelGridFit); PadState.InitPad(Main.ini); Main.WindowSizeType = int.Parse(Main.ini.ReadValue("Graphics", "WindowSize")); Main.Fullorwindow = int.Parse(Main.ini.ReadValue("Mode", "Full/Window")); Main.BackGround = int.Parse(Main.ini.ReadValue("Graphics", "BackGround")) == 1; Main.VSync = int.Parse(Main.ini.ReadValue("Graphics", "VSync")) == 1; this.graphics.SynchronizeWithVerticalRetrace = Main.VSync; this.IsFixedTimeStep = false; Main.ResizeWindow(this, Main.WindowSizeType); if (Main.Fullorwindow == 1) { this.graphics.ToggleFullScreen(); } Sound.Init(); Music.Init(); Main.stage = "ENTRANCE"; base.Initialize(); } catch (Exception ex) { StreamWriter streamWriter = new StreamWriter("Error.txt"); DateTime now = DateTime.Now; streamWriter.Write("[" + now.Hour.ToString("00") + ":" + now.Minute.ToString("00") + ":" + now.Second.ToString("00") + "]\n" + ex.ToString()); streamWriter.Close(); Main.Message(ex.ToString()); } }
/// <summary> /// 绘制字符数组 (不带Begin End) /// </summary> /// <param name="sb">SpriteBatch</param> /// <param name="sfx">字体X</param> /// <param name="str">字符数组</param> /// <param name="position">位置</param> /// <param name="maxBound">绘制的最大范围限定</param> /// <param name="scale">缩放</param> /// <param name="color">颜色</param> /// <returns>绘制到的范围</returns> public static Vector2 DrawStringX(this SpriteBatch sb, SpriteFontX sfx, Char[] str, Vector2 position, Vector2 maxBound, Vector2 scale, Color color) { return(sfx.Draw(sb, str, position, maxBound, scale, color)); }
/// <summary> /// 绘制字符数组 (不带Begin End) /// </summary> /// <param name="sb">SpriteBatch</param> /// <param name="sfx">字体X</param> /// <param name="str">字符串</param> /// <param name="position">位置</param> /// <param name="maxBound">绘制的最大范围限定</param> /// <param name="scale">缩放</param> /// <param name="color">颜色</param> /// <returns>绘制到的范围</returns> public static Vector2 DrawStringX(this SpriteBatch sb, SpriteFontX sfx, String str, Vector2 position, Color color) { return(sfx.Draw(sb, str, position, color)); }
public static void _SpriteFontXInitialize(SpriteFontX __instance, Font font, IGraphicsDeviceService gds, TextRenderingHint trh) { }
public static void _newTex(SpriteFontX __instance) { }
//private Texture2D _pixel; public void Load(ContentManager content, GraphicsDeviceManager graphics) { this._fontX = new SpriteFontX(FNAFont.Font16, graphics); this._fontXTitle = new SpriteFontX(FNAFont.Font20, graphics); //this._pixel = content.Load<Texture2D>("img\\pixel"); }