[英]SharpDX Toolkit: Draw Text
我想使用以下代碼在我的工具包游戲中繪制一些文本:
SpriteFont spriteFont;
Vector2 pointStringPosition = new Vector2(5, 5);
int intPoints = 0;
//...
Content.RootDirectory = "Content";
//...
spriteFont = Content.Load<SpriteFont>("Schrift.xml");
//...
spriteBatch.DrawString(spriteFont, intPoints.ToString(), pointStringPosition, Color.DarkOrange);
Schrift.xml在Content文件夾中,它構成以下內容:
<?xml version="1.0" encoding="utf-8" ?>
<TkFont>
<FontName>Arial</FontName>
<Size>13</Size>
<Spacing>0</Spacing>
<LineSpacing>0</LineSpacing>
<UseKerning>false</UseKerning>
<Format>Auto</Format>
<CharacterRegions>
<CharacterRegion>
<Start>32</Start>
<End>127</End>
</CharacterRegion>
</CharacterRegions>
<DefaultCharacter>32</DefaultCharacter>
<Style>Regular</Style>
<NoPremultiply>false</NoPremultiply>
</TkFont>
如果.csproj構成以下內容:
<ToolkitFont Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ToolkitFont>
它拋出AssetNotFoundException。
如果.csproj構成以下內容:
<Content Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
它說:
類型為[SharpDX.Toolkit.Graphics.SpriteFontContentReader]的已注冊ContentReader無法從文件[Schrift.xml]中加載類型為[SharpDX.Toolkit.Graphics.SpriteFont]的內容。
如果.csproj構成以下內容:
<ToolkitFont Include="Content\Schrift.xml">
<Link>Content\Schrift.xml</Link>
</ToolkitFont>
我收到一個錯誤,因為Link元素不起作用。
怎么了? 還是有更好/更容易的機會使用SharpDX繪制文本?
SharpDX Toolkit不使用XNA文件格式,而是使用自定義的YAML格式 。 檢查樣本 ,特別是SpriteFontApp
我遇到了同樣的問題,但這是由於我沒有將“構建操作”放到“ TookitFont”上
所以在沒有.xml擴展名的代碼中
並在文件屬性中:
或在.csproj文件中:
<ToolkitFont Include="Content\Arial16.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ToolkitFont>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.