【发布时间】:2013-01-07 16:04:05
【问题描述】:
图片:http://i.imgur.com/dJseH.png
我已经和 XNA 合作了一段时间,这是第一次发生这种情况
黑色文本应该是“兽人”,紫色是“1 / 100”,就像经验一样
然而这似乎不起作用,似乎文字和背景颜色是一样的。
这是拉绳代码:
spritebatch.DrawString(basicFont, Player.Name, new Vector2(
camera.Pos.X - 250, camera.Pos.Y + 85), Color.Black);
spritebatch.DrawString(basicFont, Player.curEXP.ToString() +
" / " + Player.maxEXP, new Vector2(camera.Pos.X - 185,
camera.Pos.Y + 220), Color.Purple);
基本字体:
<FontName>Kootenay</FontName>
<Size>12</Size>
<Spacing>0</Spacing>
<UseKerning>true</UseKerning>
<Style>Regular</Style>
我认为可能是因为HUD图像有点透明,所以我在背景上画了一些具有相同效果的字符串。
我做了一个新字体,同样的事情发生了。
【问题讨论】:
-
系统上是否安装了 Kootenay 字体?你能试试像 Arial 这样更常见的东西吗?
-
您是否尝试使用在线模板中的 Sprite 字体。如果这不起作用,也许您正在修改渲染中的混合功能?
-
您在 spritebatch.begin 中设置的内容有些错误,例如 alpha 混合
-
您的
SpriteBatch.Begin()方法是否包含一些参数?看起来这是 alpha 混合的原因,如果非默认,它在使用 Color 着色时会很奇怪。尝试使用 Color.White 进行绘图。如果您无法避免问题,您可能必须创建预着色字体。 -
我试过 Arial 同样的问题。 @LastCoder 没有
spritebatch.Begin(SpriteBlendMode.None, SpriteSortMode.Deferred, SaveStateMode.None, camera.viewMatrix);
标签: c# fonts xna drawstring spritebatch