C# SharpDX工具包:绘制文本
我想用以下代码在我的工具箱游戏中绘制一些文本:C# SharpDX工具包:绘制文本,c#,xna,directx,toolkit,sharpdx,C#,Xna,Directx,Toolkit,Sharpdx,我想用以下代码在我的工具箱游戏中绘制一些文本: SpriteFont spriteFont; Vector2 pointStringPosition = new Vector2(5, 5); int intPoints = 0; //... Content.RootDirectory = "Content"; //... spriteFont = Content.Load<SpriteFont>("Schrift.xml"); //... spriteBatch.DrawString
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);
SpriteFont-SpriteFont;
Vector2 pointStringPosition=新的Vector2(5,5);
积分=0;
//...
Content.RootDirectory=“Content”;
//...
spriteFont=Content.Load(“Schrift.xml”);
//...
spriteBatch.DrawString(spriteFont,intPoints.ToString(),pointStringPosition,Color.DarkOrange);
Schrift.xml位于内容文件夹中,由以下内容组成:
<?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>
<ToolkitFont Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ToolkitFont>
<Content Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<ToolkitFont Include="Content\Schrift.xml">
<Link>Content\Schrift.xml</Link>
</ToolkitFont>
Arial
13
0
0
假的
自动的
32
127
32
有规律的
假的
如果.csproj构成以下内容:
<?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>
<ToolkitFont Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ToolkitFont>
<Content Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<ToolkitFont Include="Content\Schrift.xml">
<Link>Content\Schrift.xml</Link>
</ToolkitFont>
保存最新
它抛出AssetNotFoundException
如果.csproj构成以下内容:
<?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>
<ToolkitFont Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ToolkitFont>
<Content Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<ToolkitFont Include="Content\Schrift.xml">
<Link>Content\Schrift.xml</Link>
</ToolkitFont>
保存最新
它说:
类型的注册ContentReader
[SharpDX.Toolkit.Graphics.SpriteFontContentReader]无法加载
文件中[SharpDX.Toolkit.Graphics.SpriteFont]类型的内容
[Schrift.xml]
如果.csproj构成以下内容:
<?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>
<ToolkitFont Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ToolkitFont>
<Content Include="Content\Schrift.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<ToolkitFont Include="Content\Schrift.xml">
<Link>Content\Schrift.xml</Link>
</ToolkitFont>
Content\Schrift.xml
我得到一个错误,因为Link元素不工作
怎么了?或者,是否有更好/更容易的机会使用SharpDX绘制文本?SharpDX工具包不使用XNA文件格式,而是使用。检查,特别是我也有同样的问题,但这是因为我没有将构建操作设置为“TookitFont” 因此,在没有.xml扩展名的代码中 在文件属性中:
- 构建操作:ToolkitFont
- 复制到输出目录:如果较新,则复制
<ToolkitFont Include="Content\Arial16.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ToolkitFont>
保存最新
我已经添加并使用了这个,但是我得到了相同的错误。你不能直接加载文件。它需要在编译时通过spritefont()上的“ToolkitFont”操作进行处理。看看样品。谢谢你的许多exsamples,但它不起作用。我在问题中看到了什么(我已经更新了)。你真的看过SharpDX样本了吗?没有一个示例正在加载xml扩展名Content.Load(“Schrift.xml”)代码>但只是Content.Load(“Schrift”)代码>我知道,每个人都说没有结尾,但对我来说,它只适用于结尾。Texture2D也是这样工作的(text2SnakeBody=Content.Load(“snake.png”);
)。