c# - 在 XNA 中加载纹理的最快方法是什么
问题描述
我是一名学生,使用最新版本的 Microsoft XNA 进行学习。
我需要从 Content 文件夹(或者更具体地说是 Content 文件夹中名为 Tiles 的文件夹)加载大量纹理,我真的不想输入以下代码 100 次:
texture = Content.Load<Texture2D>("texture");
我意识到我可以更改文件的名称并通过循环运行以加载它们,但是如果有办法可以保留名称,这对于查找特定的图块似乎效率低下。我只是在寻找一种方法来加载所有这些以节省开发时间。
此外,如果重要的话,这些文件是 .BMP 格式的。
解决方案
请记住,每个纹理都需要至少加载一次。所以使用
texture = Content.Load<Texture2D>("texture");
只要您不为相同的纹理重复它,就可以重复不同的纹理。
我学到的是加载LoadContent()
game1.cs中的所有纹理,该方法只在游戏开始时调用一次。因此,它们都已准备好用于游戏的其余部分。
还有一种延迟加载实践,其中仅在对象出现时才加载纹理。但是您应该知道,纹理加载不会针对每个对象重复。
推荐阅读
- python - Python - 在多线程中执行 for 循环
- jquery - 我想在点上悬停(显示和隐藏)具有不同文本的多个 id
- python - 如果匹配在 Python 中太短,则使用正则表达式排除第一个匹配
- javascript - 将对象从 Node.js 服务器发送到 JS 客户端
- ruby-on-rails - 如何将以下 activerecord 查询重构为 SQL 查询
- c# - 违反了哪些 SOLID 原则?(我应该怎么做才能解决这个控制器问题?)
- java - 如何在 JFreeChart 中绘制填充矩形?
- ios - 快速调用具有动态类名的方法
- python-3.x - 替换字符串中的非数字字符
- html - id 标签在复选框表单中是否应该是唯一的?