- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是游戏开发的新手,想开发一款手机游戏。我正在尝试在 libgdx 中制作一个复杂的动画,它由近 300 张图像组成(每张 655∼∼∼1160,总大小为 42MB)。 textureAtlas 图像的大小或拍摄的照片数量是否有限制?如果我一次渲染 7 个动画,其中 2 个像这个(激活技能)一样复杂,而其他只是简单的角色 Action ,会不会有问题?
最佳答案
map 集可以和您的 RAM 一样大。您拥有的 RAM 越多,您可以加载的 map 集就越大。
在 Android 上,您可能会在加载 42 MB 大图像时遇到问题,因为一次需要大量分配。关于这个问题,Stack Overflow 上已经有多个帖子。您只需要尝试加载它,看看会发生什么。如果游戏因 OutOfMemoryException 而崩溃,您必须将其变小。
因为 Android 是一个在硬件上有很多变化的平台(一些设备有 512 MB 的总内存,而其他设备有 6 GB),所以你可以在平台上加载的内容没有“硬性限制”。这取决于什么设备和有多少 RAM 可用(空闲 RAM)免责声明:这个答案是旧的,不再代表现实的 RAM 分布。由于某些手机具有高达 16 GB 的 RAM,而大多数旗舰产品至少拥有 4 GB,因此 42 MB 应该(实际上)不再是一个问题。 Android RAM 分配仍然是现存最奇怪的系统之一,足够大的位图可能会单独抛出异常。在这种情况下,位图确实意味着通过“常规”android 中的位图类,而不是直接通过 OpenGL 和/或 LibGDX。
TextureAtlas 实际包含的内容(30 张图像与 2 张大图像的复杂动画)无关紧要。只要您加载它(并设法将其存入内存而不会导致游戏崩溃),渲染它就不会出现问题。虽然帧速率可能会下降(取决于硬件和您实际渲染的数量),但除非您一次渲染数千张图像,否则这应该不是问题
在 list 中添加 android:largeHeap="true"
也很有帮助。
关于android - TextureAtlas 大小有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47853986/
我正在重构我在 libgdx 中开发的小型 RPG。 我有一个关于如何正确使用纹理图集的一般性问题。我有大约 100 名 Actor 和大约 10 种 Sprite 。目前我不使用图集,但我想提高渲染
我是游戏开发的新手,想开发一款手机游戏。我正在尝试在 libgdx 中制作一个复杂的动画,它由近 300 张图像组成(每张 655∼∼∼1160,总大小为 42MB)。 textureAtlas 图像
我正在从扩展 libgdx 类游戏的主游戏类加载 Assets 。在该类的 create() 方法中,我调用了 Assets.loadAtlas(); 并调用了: public static void
这不可行吗? TextureAtlas atlas = new TextureAtlas(Gdx.files.internal("data/texture.png")); AtlasR
我正在尝试从 TextureAtlas 获取纹理区域,但作为纹理。 我试过: textureAtlas.findRegion("explosion").getTexture(); 但它返回整个纹理图集
我正在使用 libgdx 制作一个简单的游戏。我有一个 TextureAtlas,它有我正在尝试使用的 ninepatch: 图片保存为menu.9.png 我正在使用以下代码: Image bg =
我正在尝试制作一个带有简单动画的节点,因此我创建了一个动画,其中每个单独的帧都作为 .png 文件,我将它们全部放在一个文件夹中,并将其命名为 stoneanimation2.atlas 。 这是我试
我最初实现了直接从资源文件夹加载TextureAtlas,但是游戏变得非常滞后,因为我必须调用TextureAtlas的每个区域来获取动画中要使用的帧(libgdx表示使用TextureAtlas的f
从 Eclipse 运行我的应用程序时没有问题,但在桌面上导出和运行时,我的 TextureAtlas 中的所有图像都会出现故障,显示为黑色/灰色框,以及一些奇怪的东西,如 白色渐变框 和灯光覆盖。
在使用 libGDX 时,我注意到有时我绘制到屏幕上的纹理不会绘制到精确的像素,而是使用不同侧面的其他纹理的边缘的微小部分绘制(例如,这里是头发顶部的单行像素被渲染到玩家脚的下方)。 当我将游戏缩放到
我注意到我可以为一个 textureRegion 保留一个图集,尽管我可以多次绘制相同的区域作为 Sprite 。是否可以将所有 textureRegions 保留在一个场景中的一个 textureA
我正在尝试使用 LibGDX 创建一个简单的游戏。我正在尝试使用 9 Patch 图像作为菜单按钮的背景,但似乎忽略了图像的 9 Patch 质量。 我有两张图片,“active.9.png”和“re
stackoverflowers 和其他好人,经过两天的尝试,我有一个问题不知道如何解决:我有 libgdx 项目(我正在使用舞台和 Actor ,但现在这并不重要),我在评论中添加了所有无用的东西,
我正在尝试从单个纹理转变为对我的盒子使用纹理图集(它们都显示单个字母,用于类似拼字游戏的游戏)。我对此深信不疑,我找到的所有示例都是针对 2D Sprite 的。 如何使用来自 AtlasRegion
我有 2 个 AssetManager 实例:一个用于基本纹理,一个用于高质量纹理。基本纹理位于“android/assets”文件夹中,高质量纹理打包在 zip 文件中。此文件夹中的内容(文件名)是
我正在制作一款格斗游戏,所以我有巨大的角色 Sprite (300 像素 X 350 像素)和大量动画帧(每个角色约 150 帧),因此最大 2048 x 2048 纹理尺寸无法适应所有帧一个角色的动
我开始将我的 LIBGDX 应用程序移植到 IOS。我使用 libgdx 的 Xamarin studio 端口在 IOS 上运行我的应用程序。我移植成功,但应用程序无法在 Iphone 模拟器中加载
我们使用iOS 7 中新的SpriteKit 框架来开发小游戏。为了构建和分发我们游戏的新版本,我们使用构建和部署服务器,该服务器使用 Xcode5 的命令行工具。 当我们使用 Texture Atl
我是一名优秀的程序员,十分优秀!