libgdx - 使用原始纹理的旋转创建多个纹理并将它们保存在列表中
问题描述
不确定我是否走对了路。
我有一个小纹理,我画了多次(1000)。但我喜欢让它们具有不同的旋转(大约 10 圈)以用于该纹理。所以我想旋转纹理并将其保存在列表(10)中以供重用(性能)。
当我的方法很好时,如何旋转原始纹理并将其存储到新纹理中(在启动期间存储在内存中)?
解决方案
您可以使用 Sprite 类来包装纹理并提供许多有用的方法来使用它。例如:缩放、旋转。
因此,您将拥有一个纹理实例和 10 个精灵。
Texture texture = new Texture("path.png");
for (int i = 0; i < 10; i++) {
Sprite sprite = new Sprite(texture);
sprite.setSize(..);
sprite.setRotation(..);
someList.add(sprite);
}
然后你可以选择你想要设置它的位置并绘制它的精灵:
sprite.draw(spriteBatch);
推荐阅读
- java - 在 Swing 中设置关于 GridLayout 的 JPanel 的边距
- spring-boot - Java9 模块的 Spring 启动失败
- python - 使用 groupby (Pandas) 计算一列的唯一值
- vue.js - 如何从中间件或插件设置 nuxtjs 标题和元?
- tensorflow-serving - TensorFlow Serving 是否允许插件(动态链接的用户扩展)?
- junit - 如何使用 Junit LauncherDiscoveryRequest 从 Java 项目的另一个模块中的包中发现测试?
- javascript - 参考错误,但日期已定义。请指出我做错了什么
- javascript - window.location.reload 不断刷新页面
- python - 如何获取 pip 安装 `data_files` 的路径?
- java - MarkLogic Java API 中 cts:element-query 的等价物