- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我已经进入了我正在处理的基于 2D XNA 的自上而下的 hack-and-slash 项目的一部分,我需要在屏幕上绘制文本。我想要使用的是我发现的 SpriteSheet 式图像,其中包含我将需要用于该项目的字符和符号。
现在,在提问之前我已经阅读了一些内容,将“字体”或其他东西放到屏幕上的唯一两种方法是使用计算机上已经安装的字体,或者根据 this , 我必须创建自定义内容处理器吗?
我的问题是,如果我有一张图片(比如 PNG 格式),上面有我想要的所有字母/字符,我该如何在我的 2D 游戏中使用这些字母?而且它不一定是基于 XNA 的解决方案。
提前致谢。
最佳答案
您绘制它的方式与从 sprite 表中绘制任何其他 sprite 的方式完全相同。
您可能已经知道 SpriteBatch.Draw方法有一些重载,可以采用 Rectangle
来表示 Sprite 表中的源。
您可以使用字典跟踪从字符到 sprite 矩形的关系
Dictionary<char, Rectangle> fontDict = new Dictionary<char,Rectangle>();
fontDict.Add('A', new Rectangle(/*params representing source of A*/);
你可以用 for 或 foreach 循环来表达你的意思
for(int i = 0; i<str.Count; i++)
{
Rectangle spriterect = fontDict[str[i]];
SpriteBach.Draw(/*params*/);
}
请记住,您还必须自己管理字母的间距,但您可以自己完成。
但确实如此 Look like the ContentManager supports creating SpriteFonts based off of image formats such as jpg
and png
,所以我想说你可能最好探索一下
进一步谷歌搜索产生FontTextureProcessor Class ,这可能会有所帮助。
关于c# - 在 XNA 中使用图像作为字体(SpriteFont?或其他?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17890796/
如何创建包含来自多个区域的字符并由 XNA 内容管道正确解释的位图字体图像? 我想在我的位图字体图像中添加一些特殊字符,但我不知道如何正确执行。 更新:我想我越来越接近我的答案了。 Sprite 字体
我正在尝试将箭头键 ►、◄、▲、▼ 添加到我的 spritefont。它们是 Alt16、Alt17、Alt30、Alt31。 这是我正在尝试做的事情。
我正在尝试在 Monogame 程序中绘制文本。我想使用 SpriteFont 来执行此操作,但在尝试加载 SpriteFont 时出现以下错误。 //Here I try to load the S
我正在使用 SpriteFont/SpriteBatch 类将文本渲染到我的游戏中,因为坦率地说,我厌倦了使用 Direct2D 和 DirectWrite...但是每次我使用 SpriteFont
当我绘制 SpriteFont 中不支持的字符时,出现异常。 TextboxString 是使用软键盘输入的字符串。玩家可以在我的 iOS/Android 应用程序中使用软键盘输入他的显示名称、密码和
我正在使用 C++ 编程并使用 DirectXTK 附带的 SpriteFont 工具。我在我的类中这样声明了一个变量: std::unique_ptr m_SpriteFont; 我是这样初始化的:
font = Content.Load("TopBarFont"); 无论出于何种原因,无论发生什么,或者我做了什么更改,我总是会收到此错误。 An unhandled exception of ty
我试过 XNA 内容编译器,但它只是吐出一个错误: There was an error while deserializing intermediate XML. String must be ex
我一直在努力让 spritefonts 在我正在从 Android 移植到 monogame 的 IOS 的游戏中工作。一切都完全一样,除了 spritefonts 似乎没有复制到调试设备。除了字体问
我在 XNA 上闲逛,我已经到了需要加载字体的部分。很简单吧? Font1 = Content.Load("Arial"); 是我用来加载字体的代码。 Arial
所以我已经进入了我正在处理的基于 2D XNA 的自上而下的 hack-and-slash 项目的一部分,我需要在屏幕上绘制文本。我想要使用的是我发现的 SpriteSheet 式图像,其中包含我
我们在 iOS 上的 MonoGame 中将纯 Arial spritefont 作为 XNB 加载时遇到问题。我使用最新的开发分支尝试了这个。这些是在 Windows 上制作的,然后在 Xamari
我在使用 DirectX::SpriteFont/DirectX::SpriteBatch 时遇到问题(来自 DirectXTK;与此处讨论的问题完全相同:Problems when drawing
我是一名优秀的程序员,十分优秀!