【问题标题】:LibGDX creating texture from base64 PNG ByteArrayInputStreamLibGDX 从 base64 PNG ByteArrayInputStream 创建纹理
【发布时间】:2013-06-03 17:43:06
【问题描述】:

我刚刚决定从 Slick2D 更改为 LibGDX。但是,为了能够将我的游戏移植到 LibGDX,我需要帮助了解如何从我的游戏数据文件在 LibGDX 中创建纹理。

我的游戏数据文件已加密,图像以 base64 编码,因此我可以将它们全部保存在一个 txt 文件中。如何从 ByteArrayInputStream 创建 LibGDX 纹理。

在 Slick2D 中,我将 base64 字符串转换为缓冲图像。但我不想为 LibGDX 这样做,因为我可能想尽快在 android 上使用它。

编辑:我只是想通了,有点。我是这样做的:

   Texture bucket;
    String base64 = "base64 string too long to paste"
    byte[] decodedBytes = Base64Coder.decode(base64);
    bucket = new Texture(new Pixmap(decodedBytes, 0, decodedBytes.length));

但是,现在图像是垂直翻转的......我错过了什么吗?

【问题讨论】:

  • 欢迎来到 Stack Overflow。与许多讨论板不同,Stack Overflow 以(单个)问题和答案为导向。请发布您的“编辑”作为答案(可以回答您自己的问题)。见stackoverflow.com/faq#howtoask
  • 谢谢。我会去做的。它说:“声望低于 10 的用户在提问后 8 小时内无法回答自己的问题。您可以在 7 小时内回答。在此之前请使用 cmets,或改为编辑您的问题。”
  • 这个链接应该有助于旋转部分:stackoverflow.com/questions/9445035/…
  • 是的,我想我可以做到,但我希望创建的纹理正面朝上。翻转字节数组是否正确?
  • 已解决。我创建了一个精灵而不是纹理并将其翻转。

标签: android textures libgdx slick2d bytearrayinputstream


【解决方案1】:
Texture bucket;
String base64 = "base64 string too long to paste"
byte[] decodedBytes = Base64Coder.decode(base64);
bucket = new Texture(new Pixmap(decodedBytes, 0, decodedBytes.length));

这对我有用。

它被翻转了,因为我将 OrthographicsCamera 更改为左上角的 0,0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多