Pregunta

estoy frente a un problema que es, probablemente, muy comunes en el juego-diseño.

  1. Supongamos que tenemos un mundo 2D
  2. tamaño del mundo es M x N rect
  3. El mundo puede contener algunos elementos en ella
  4. Los artículos tienen (x, y) coords
  5. El mundo se puede hojear a través de una ventana que es físicamente (m x n) de gran tamaño.
  6. La ventana del navegador se puede hacer zoom in / out
  7. La ventana del navegador puede ser desplazada hacia arriba / abajo + izquierda a la derecha, mientras que en la extensión de rect del mundo.

¿Cómo debo ir sobre la aplicación de esta? Estoy especialmente preocupado por la ventana del navegador. ¿Alguien puede recomendar ningún bien lee?

Esto no es una tarea - es más bien una tarea que me he marcado para completar

.

Otros consejos

implementarlo como era de implementar Google Maps con marcadores especiales.

Básicamente está asignando un subconjunto rectangular de un área a otra rectángulo, es decir. la ventana del navegador. Esto es esencialmente sólo 2 operaciones - uno de traducción, para posicionar el área visualizada en el mundo, y luego uno de escalamiento, tomar esa área visible arbitraria y escalar a la ventana. Separar a que es el tema de zoom dentro y fuera, que está modificando esencialmente el tamaño del área de visualización.

En el desarrollo del juego hay varias maneras de abordar esto. En general, usted harías con una proyección a fin de mostrar la mayor parte del mundo como sea necesario (es decir. Transformar de coordenadas mundiales para la visualización de coordenadas, por lo general una proyección ortográfica) y simplemente traducir el mundo o ver a colocar la ventana tal que es apuntando hacia lo que desea ver. Siempre que haya configurado las posiciones de los objetos correctamente el hardware 3D dibujará lo que espera.

podría ser capaz de salirse con DHTML, pero Flash o Silverlight sería mucho más fácil de implementar algo como esto.

Tome un vistazo al código detrás de google mapas un poco de inspiración. Están haciendo Somthing similar a lo que quiere en HTML puro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top