Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Mapas de tiles y El Viewport

Iniciado por josette, 13 de Febrero de 2003, 12:56:51 AM

« anterior - próximo »

josette

                                :?: Para desplazarse por un mapa de tiles he visto una técnica que consiste en tener una matriz de 3x3 Imágenes de tiles cada una de ellas con tamaño igual al de la pantalla. Por esta matrix se desplaza el viewport y determina el área que se visualiza dentro del mapa de tiles. Mi duda es la siguiente:

  matriz de imagenes de tiles = M.

  Si el viewport está en M(0,0) => Se cargan M(0,1),M(1,0) y M(1,1) para estar preparados los siguientes desplazamientos.

  ¿Cómo se resuleve la situación en donde el viewport está en M(0,2)?
  ¿De pronto pasa el viewport a M(0,0)?

Espero haberme expresado con claridad. Espero vuestras respuestas.                                

Repoker

                                Joer no entiendo nada XD

Weno, si lo que quieres es lo que se conoce comunmente como "parallax" (es esto, no ? :P ahroa la cagare XD) lo que tienes que saber primero de todo es que el nº de tiles que has de ensenyar depende de lo grandes q sean, ya que si tienes unas cuantas grandes pos no te haran falta muchas, pero si son como las de .. warcraft 1 por ejemplo ,  pues te cabrian unas cuantas ..

Aparte de eso no entiendo que tiene que ver el viewport en todo esto .. supongo que lo que quieres decir es como se desplaza la cámara :S pues en ese caso te diria que yo hice uno (muy triste, solo pa probar y ponerlo en el curriculum XD (coña) ) <-- woo ! comentarios anidados y todo (otra coña). En fin , que me pierdo :P a ver , lo más facil si quieres hacer lo que *creo* que quieres hacer, es dejar el escenario quieto (matriz estática) y ir moviendo solamente la cámara, a la vez que decides que tiles muestras en pantalla.

Creo que van por aqui los tiros .. ya me diras algo ..                                

Mars Attacks

                               
Citar:?: Para desplazarse por un mapa de tiles he visto una técnica que consiste en tener una matriz de 3x3 Imágenes de tiles cada una de ellas con tamaño igual al de la pantalla. Por esta matrix se desplaza el viewport y determina el área que se visualiza dentro del mapa de tiles. Mi duda es la siguiente:

  matriz de imagenes de tiles = M.

  Si el viewport está en M(0,0) => Se cargan M(0,1),M(1,0) y M(1,1) para estar preparados los siguientes desplazamientos.

  ¿Cómo se resuleve la situación en donde el viewport está en M(0,2)?
  ¿De pronto pasa el viewport a M(0,0)?

Espero haberme expresado con claridad. Espero vuestras respuestas.

Puessss lo lógico sería que (dependiendo si puedes moverte en diagonal también) cargaras los bloques de arriba, de abajo, de la izquierda y de la derecha. Si puedes moverte en diagonal, pues también los de las diagonales. Al cambiar de cuadro, descargarías los que ya no estuvieran a un cuadro de distancia (en 4-conectividad o en 8-conectividad si te puedes mover en diagonal) y cargaras los que te faltaran, y así sucesivamente.
Vamos, que si estás en el cuadro i,j, tendrás que cargar los cuadros:
i-1,j+1;i,j+1;i+1,j+1;
i-1,j;i,j;i+1,j;
i-1,j-1;i,j-1;i+1,j-1;

Y si no puedes caminar en diagonal, pues te ahorras cargar las diagonales. En total, cargarías 5 cuadros o 9 si el movimiento es diagonal.
Francamente, no tengo ni idea de cómo se hacen esos juegos, pero yo diría que la respuesta a tu pregunta sería esa.                                

josette

                                Mas o menos me habeis entendido, pero mi duda era que si estoy en la posición M(2,0) como la matriz solo tiene 3 columnas (0,1,2) si sigo desplazando a la derecha tendría que despalazarme a M(3,0) pero como no existe tendría que ser M(0,0) pero de esta forma estaría pintando tiles de M(2,0) y de M(0,0). La duda es si esto se hace así o hay otra forma de hacerlo¿?.                                

Mars Attacks

                                ¿Qué? La matriz tiene tres columnas pero está centrada en la casilla i,j. Si estás en la posición 3,0 sólo cargarás las que en la matriz te ponga que cargues. Si 4,0 no está cargada, la cargas y ya está. Si no hay 4,0 pues no tienes por qué cargar nada, ya que no vas a desplazarte a ella (y mucho menos a 0,0 que quedaría a dos casillas en sentido contrario).                                

rrc2soft

                                Precisamente si pintas tiles de M(2,0) y de M(0,0), simularias un mundo circular. Asi que tienes dos formas de hacer las cosas: Sin cargarlas (como ha dicho mars, para que cargar lo que no hace falta) o cargandolas (si el mundo es circular: Mapas de mundo de casi todos los viejos RPG  8) )                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.