2013-06-03 54 views
5

我只是决定从Slick2D到LibGDX进行更改。但是,对于我能够将我的游戏移植到LibGDX,我需要帮助了解如何从我的游戏数据文件中创建LibGDX中的纹理。LibGDX从base64 PNG创建纹理ByteArrayInputStream

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

在Slick2D中,我将base64字符串转换为bufferedimage。但我不想为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)); 

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

+0

欢迎来到Stack Overflow。与许多讨论板不同,Stack Overflow围绕(单个)问题和答案。请发布您的“编辑”作为答案(它可以回答你自己的问题)。请参阅http://stackoverflow.com/faq#howtoask –

+0

谢谢。我会去做。 它说: “声誉低于10的用户在询问后8小时内不能回答自己的问题,你可以在7个小时内回答,在此之前请使用评论或者编辑你的问题。” –

+0

这个链接应该帮助旋转部分:http://stackoverflow.com/questions/9445035/rotate-image-clockwise-using-libgdx –

回答

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

这对我有效。

它被翻转,因为我改变了OrthgraphicsCamera在左上角有0,0。