2013-06-03 19 views
5

Po prostu zdecydowałem się na zmianę z Slick2D na LibGDX. Jednakże, aby móc przenieść moją grę do LibGDX, potrzebuję pomocy w zrozumieniu sposobu tworzenia tekstur w LibGDX z plików danych gry.LibGDX tworzenie tekstury z base64 PNG ByteArrayInputStream

Moje pliki danych gry są zaszyfrowane, a obrazy są zakodowane w base64, więc mogę przechowywać je wszystkie w jednym pliku txt. Jak utworzyć teksturę LibGDX z obiektu ByteArrayInputStream.

W Slick2D przekonwertowałem ciąg base64 na buforowany obraz. Ale nie chcę tego robić dla LibGDX, ponieważ wkrótce mogę go pobrać na Androida.

EDYCJA: Właśnie to wymyśliłem, rodzaj. Zrobiłem to tak:

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

Jednak teraz obraz jest odwrócony w pionie ... Czy ja czegoś brakuje?

+0

Witamy w przepełnieniu stosu. W przeciwieństwie do wielu forów dyskusyjnych, Stack Overflow koncentruje się wokół (pojedynczych) pytań i odpowiedzi. Proszę zaksięgować "EDIT" jako odpowiedź (można odpowiedzieć na własne pytania). Zobacz http://stackoverflow.com/faq#howtoask –

+0

Dziękuję. Zrobię to. mówi: "Użytkownicy, którzy mają mniej niż 10 punktów reputacji, nie mogą odpowiedzieć na swoje pytanie przez 8 godzin po zadaniu pytania. Możesz odpowiedzieć za 7 godzin. Do tego czasu użyj komentarzy lub edytuj swoje pytanie." –

+0

Ten link powinien pomóc w części dotyczącej rotacji: http://stackoverflow.com/questions/9445035/rotate-image-clockwise-using-libgdx –

Odpowiedz

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)); 

To zadziałało dla mnie.

Został odwrócony, ponieważ zmieniłam OrthgraphicsCamera, aby mieć 0,0 w lewym górnym rogu.

Powiązane problemy