【问题标题】:How to load textures to XNA?如何将纹理加载到 XNA?
【发布时间】:2011-08-05 20:54:14
【问题描述】:

好的,所以我需要一个正在制作的游戏的纹理,并且我找到了适合我的项目的纹理(某种球)。纹理紧挨着其他纹理(纹理表)。 所以我不得不下载所有的表格。现在,我只需要获得我想要的纹理(那个球)。而且我只能用一个矩形圈出它(使用Paint)。 XNA有无知的颜色是真的吗?或者还有其他方法可以只加载我的球吗?而不是它的背景?

拜托,我真的需要一个答案。非常感谢。

【问题讨论】:

  • 将仅包含球及其背景的纹理添加到您的内容项目中。将文件的“颜色键”属性设置为您想要透明的背景。 (没有时间写更详细的答案)。
  • @George 如何设置“颜色键”属性?它位于哪里?它怎么知道纹理的背景?
  • 如果您要使用大量自己编辑的纹理,一个提示是下载paint.net。它的工作原理和外观与绘画相似,但具有更多功能,例如“魔术想要”和“图层”。但最重要的是,如果您在paint.net 中选择纹理的一部分然后按删除它不会变成白色......它会变得透明并在XNA 中使用时保持透明=)

标签: c# xna


【解决方案1】:

要启用色键透明度,请在您的内容项目中选择您的纹理,然后按 F4 以打开属性窗口。展开“内容处理器”选项以显示颜色键设置。打开颜色键并选择合适的颜色。

如果您需要在 XNA 中使用精灵表(即:如果您没有在图像编辑器中裁剪它),您可以使用 sourceRectangle 参数到 SpriteBatch.Draw 只处理您的特定矩形区域源纹理作为精灵。

默认情况下SpriteBatch 将使用BlendState.AlphaBlend 绘制(即:如果您使用Begin() 重载,则无需设置它),它将为您正确处理透明度。

【讨论】:

  • 还可以下载一个像paint.net这样的工具,然后裁剪你的图像,只包含你想要的图像,并可能在图像级别处理透明度
猜你喜欢
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多