gpt4 book ai didi

java - Libgdx - 如何加载一个巨大的 spritesheet 使其不呈现黑色?

转载 作者:搜寻专家 更新时间:2023-11-01 09:44:01 25 4
gpt4 key购买 nike

我用 LibGDX 编写的手机游戏遇到了性能问题。假设只有一种分辨率 - 1920x1080 - 仅用于测试。

我有一个 spritesheet 结合了下面这样的图像: enter image description here

我希望这些粒子在我的 Logo 周围飞舞,因此我需要它们的大小至少为 256px/512px - 这样它在给定的分辨率下看起来不错。

如果一个帧有那个尺寸,我至少需要 32 个帧才能让它看起来不错,那么很容易计算出整个 spritesheet 的尺寸:

width: 256 * 8 (columns) = 2048
height: 512 * 4 (rows) = 2048

这是最乐观的想法,因为 spritesheet 应该更大。spritesheet 的重量约为 50kb,所以它真的很好,但尺寸让我遇到了麻烦。

昨天我在 LibGDX 的桌面版本上测试了所有内容,一切都很好。完成菜单后我将游戏移植到Android,这个spritesheet应该绘制的区域是黑色

我在 gamedev 上或这里(不记得了)读到我应该只使用最大尺寸为 od 1024/1024 的图形,因为 LibGdx 在许多版本的 Android 上加载更高纹理时存在一些问题.

我想要完成什么?我需要找到一个想法,如何让它工作并加载纹理。

我已经尝试使用像素图调整文件大小,但它采用整数作为维度,它降低了质量等...

我知道有人会说,为什么不创建一个像下面这样带有橙色图形的“点”对象,随机生成这些点并有时更改它们的 alpha?这不是一个选项,因为我需要像“雾”这样的其他动画,它不能像点一样简单地编程。

也许有一种方法可以调整纹理、区域或其他东西的大小(当然使用 float 来保持纵横比)?

如果有人有任何想法,我应该如何在我的应用程序中使用巨大的 spritesheet,我将非常感激 :)

最佳答案

您的 sprite 表的长度不应超过 2048*2048。

如果要加载大于 2048*2048 的 spritesheet,则必须逐帧单独加载。

假设,如果您的 sprite 表包含 15 个帧,那么您必须有 15 个单独的 png 文件。

关于java - Libgdx - 如何加载一个巨大的 spritesheet 使其不呈现黑色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38670881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com