Bem, procurei na internet ( E MUITO ) sobre java com jogos, e ficou uma dúvida na qual ainda não achei também, Como faço para que o Java , (tirando o ME que já tem bibliotecas prontas para isso) leia um Sprite (Sprite, não imagem como muitos mostram por ae). Vai um exemplo de Sprite no qual eu tenho dúvida.
Bem João, 2 desse links eu já li, + eles ensinam apenas como se o Sprite fosse uma imagem comum. Eu vi no Site do Gold T Studios que eles conseguiram fazer isso… + não consegui achar essa parte do código no qual é OpenSource, então recorri para cá, caso alguém que programasse para jogos soubesse disso. Eu acredito (e tenho quase total certeza) que isso envolve matrizes e etc… pois como são vários “estados” de imagem teria de ser feito isso!! Deu pra entender ± ?
Sim, claro que entendi, já fiz jogos em j2ME usando Sprites.
Mas talvez seja justamente essa a técnica, o Sprite nada mais é do que uma parcela matricial de uma imagem maior. Você sempre pode carregar uma parte de uma imagem só. Então não vejo por que isso não seja o teu caso.
Não me aprofundei no código que postei, mas vou colocar ele num projeto e tentar entender melhor, depois posto aqui.
Normalmente em desenvolvimento de jogos o designer ou o programador colocam os vários estados do personagem (os sprites) em um único arquivo. Ao carregar o jogo, ele lê este arquivo e picota nos diferentes sprites e guarda em memória, no entanto este arquivo é um PNG ou gif normal mesmo. nada impede de ser um png por sprite tb, não se faz por uma questão de otimização mesmo
Vc pode estar confundindo com gráficos vetorizados, caso seu jogo seja 3d, aí é um pouco mais complicado
Joao tentei rodar aqui e não foi… Vou enviar o meu código no qual = ao postado para ver se você consegue achar o erro, eu já tentei procurar + nada, eu apenas alterei essa linha do código:
e os erros são:
Exception in thread “main” java.lang.NullPointerException
at com.br.game.sprite.TileTest.initGFX(TileTest.java:80)
at com.br.game.sprite.TileTest.(TileTest.java:69)
at com.br.game.sprite.TileTest.main(TileTest.java:105)
O que poderia ser ??
Obrigado.