当前位置: 首页 > 知识库问答 >
问题:

在静态类中处理纹理

班高明
2023-03-14

我在静态类中存储游戏的纹理。它们从管理器加载到此类的静态数组中。

每个屏幕都有一个dispose方法,但我应该在纹理上的何处调用dispose。libGDX是否只在应用程序退出时处理,因此我应该在每个屏幕中处理纹理?

共有1个答案

韦澄邈
2023-03-14

在静态类中保存所有纹理都是静态数组是个坏主意。在最小化游戏或其他类似情况下,很难管理内存和控制GC将删除哪些纹理。

我建议您使用AssetManager来加载和处理资源。在这里,您可以找到许多关于AssetManager和资源管理的有用信息来管理您的资产

关于你的第二个问题:我不建议你在更换屏幕时处理/加载所有纹理。我使用下一种方法:

  1. 在游戏开始时显示加载屏幕,并使用AssetManager加载所有常用纹理(如按钮、主菜单图形、主要角色、对话框等)。如果你的游戏很小,你可以在这里加载所有的游戏纹理

另外,如果你想把所有的纹理或任何其他资产都放在一个类别中。创建Singltone类,该类将保存Map

 类似资料:
  • 我有一个不断地从右到左移动的平面,上面有重复的纹理。我的目标是使纹理在屏幕上保持不变的位置,而平面继续移动。如何使用着色器做到这一点?或不使用着色器

  • django.contrib.staticfiles 从你的应用(和其他你指定的地方)收集所有静态文件到同一个地方,这样产品就能很容易的被维护 看看这里 对于静态文件的应用和一些用法示例的介绍,请参阅管理静态文件(CSS,图像) . 如果你想知道如何部署静态文件, 请参阅 部署静态文件. 设置 查看staticfiles settings了解更多设置细节 STATIC_ROOT STATIC_UR

  • 相关: 公共基础路径 相关: assetsInclude 配置项 将资源引入为 URL 服务时引入一个静态资源会返回解析后的公共路径: import imgUrl from './img.png' document.getElementById('hero-img').src = imgUrl 例如,imgUrl 在开发时会是 /img.png,在生产构建后会是 /assets/img.2d8e

  • 所有的Markdown文件都通过Vite处理编译成Vue组件。你可以并且应当使用相对URL引用静态资源。 ![An image](./image.png) 你可以在你的Markdown文件、主题中的*.vue组件、样式和纯.css文件使用绝对公共路径(基于项目根目录)或相对路径(基于你的文件系统)。如果你使用过vue-cli或webpack的file-loader,后者更符合你的习惯。 常见的图

  • 你会注意到在项目结构上我们有静态资源两个目录:src/assets 和 static/。它们之间有什么区别? 通过webpack处理的资源 要回答这个问题,我们首先需要了解webpack如何处理静态资源。在*.vue组件中,你所有的html模板和CSS都会被vue-html-loader 和 css-loader压缩并且查找资源路径。例如,<img src="./logo.png"> 和 back

  • 前面我们介绍了如何输出静态页面,但是我们的网页往往包含了很多的静态文件,包括图片、JS、CSS 等,刚才创建的应用里面就创建了如下目录: ├── static │ ├── css │ ├── img │ └── js beego 默认注册了 static 目录为静态处理的目录,注册样式:URL 前缀和映射的目录(在/main.go文件中beego.Run()之