Pregunta de diseño 2D World

votos
3

Estoy enfrentando un problema que probablemente sea extremadamente común en el diseño del juego.

  1. Supongamos que tenemos un mundo en 2D
  2. El tamaño del mundo es M x N rect
  3. El mundo puede contener algunos elementos en él
  4. Los artículos tienen coords (x, y)
  5. El mundo se puede navegar a través de una ventana que es físicamente (mxn) grande.
  6. La ventana del navegador se puede acercar / alejar
  7. La ventana del navegador se puede panoramizar arriba / abajo + izquierda a la derecha, mientras que en la extensión de rect del mundo.

¿Cómo debo implementar esto? Estoy especialmente preocupado por la ventana del navegador. ¿Alguien puede recomendar buenas lecturas?

Esta no es una tarea, es más una tarea que me he propuesto completar.

Publicado el 19/10/2009 a las 20:12
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
0

Es posible que pueda salirse con la dhtml, pero flash o silverlight sería mucho más fácil implementar algo como esto.

Eche un vistazo al código detrás de los mapas de Google para obtener inspiración. Están haciendo algo similar a lo que quieres en html puro.

Respondida el 19/10/2009 a las 20:16
fuente por usuario

Respondida el 19/10/2009 a las 20:17
fuente por usuario

votos
1

Impleméntelo como si implementara Google Maps con marcadores especiales.

Respondida el 19/10/2009 a las 20:18
fuente por usuario

votos
1

Básicamente está mapeando un subconjunto rectangular de un área a otro rectángulo, es decir. la ventana del navegador. Esto es esencialmente solo 2 operaciones: una de traducción, para ubicar el área vista dentro del mundo y luego una de escalado, para tomar esa área visible arbitraria y escalarla a la ventana. Separados de eso, está el problema de acercar y alejar, lo cual esencialmente está modificando el tamaño del área vista.

En el desarrollo de juegos hay varias formas de abordar esto. En general, personalizaría una proyección de vista para mostrar la mayor parte del mundo que necesite (es decir, se transformaría de las coordenadas del mundo a las coordenadas de visualización, normalmente una proyección ortográfica) y simplemente traduciría el mundo o vería para colocar la ventana de manera que apuntando hacia lo que quieres ver Siempre que hayas configurado correctamente las posiciones de tus objetos, el hardware 3D dibujará lo que esperas.

Respondida el 20/10/2009 a las 14:37
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more