Uma ajuda em uma formula para criar um "Scroll Map"

4 respostas
Michel.Montenegro

Estou usando Slick 2D

O metodo é este:

render(int x, int y, int sx, int sy, int width, int height, boolean lineByLine)
//Render a section of the tile map

Descrição dos Parametros na sua documentação

<blockquote>

Parameters:

x - The x location to render at

y - The y location to render at

sx - The x tile location to start rendering

sy - The y tile location to start rendering

width - The width of the section to render (in tiles)

height - The height of the secton to render (in tiles)

l - The index of the layer to render

lineByLine - True if we should render line by line, i.e. giving us a chance to render something else between lines (@see renderedLine(int, int, int)</blockquote>

Link com um exemplo (Rodei aqui e até funcionou):
https://bob.newdawnsoftware.com/repos/slick/trunk/Slick/examples/org/newdawn/slick/examples/scroller/Scroller.java

Mas quando apliquei em meu codigo, consegui fazer a tela se redesenhar a cada atualização (Render), por algum motivo o mapa fica torto completamente fora do lugar to querendo que independente do tamanho que eu coloque o mapa ele nade corretamente( Ex: 800x640 ; 1024x768; etc…)

Estou trabalhando com Tile Map, Slick 2D.

4 Respostas

ViniGodoy

Movido para o fórum de Interface Gráfica (poderia ser também, “Frameworks, Ferramentas e Utilitários”, mas definitivamente, não o Java Básico).
Por favor, leia com atenção a descrição dos fóruns antes de postar.

Michel.Montenegro

Estava feliz achando que alguem responderia a duvida. (rsrsr…)

  • Já resolvi o problema, na verdade acabei aprendendo como fazer, scroll map, view map, cam map. Se quiser podem fechar o topico.
ViniGodoy

Não existe “fechamento de tópico” no GUJ.

Mas seria legal você postar a solução aqui. Outros podem vir com a mesma dúvida.

Michel.Montenegro

Na verdade fui experimentando valor, carreguei o projeto em modo de depuração e via em tempo real o que ocorria com os valores que adicionava nos parametros, ai sim entendi e consegui por umaformula que funciona-se.

Inclusive ficou perfeito, só não gostei de mapear colisões baseado na posição X.Y e não com polignos como considero mais indicado. Ai mudei a forma como trabalhei com o mapa.

Na hora o sistem ficou indentico a um scroll map (Só que desenhando a continuidade do mapa).

Mas depois mantive o carregamento do mapa inteiro na tela e usei o metodo Graphic.translate(Tela X, Tela Y), para manter o “heroi” sempre no centro.

Criado 9 de junho de 2011
Ultima resposta 10 de jun. de 2011
Respostas 4
Participantes 2