publicidad para instalar desde descargar como bloquear aplicaciones iphone architecture

iphone - para - ¿Cómo debería tener mis entidades de juego informadas sobre las cosas que les rodean?



ios 8 para iphone 4 descargar (4)

Cada tipo de enemigo en mi juego es una clase diferente, y las instancias se almacenan en una matriz C. En el juego principal, la actualización de bucle () se ejecuta para cada instancia de enemigo / elemento, y se ejecuta draw (). Algunos de los comandos de actualización () requieren el conocimiento de dónde está el jugador principal. ¿Cuál sería la mejor ruta para obtener esa información en la instancia? No creo que una variable global sea la forma inteligente de hacerlo, ya que las opciones de varios jugadores se pueden agregar más adelante.

Este es solo un ejemplo del problema más grande, que es cómo se supone que las cosas en el juego se conocen entre sí. ¿Cómo sabrían los enemigos que están chocando con otros enemigos, por ejemplo?


Su necesidad de construir una estructura de árbol de múltiples ramas (no simple árbol binario). Los nodos son las ubicaciones en el juego. Cada nodo puede contener múltiples punteros simples de estructuras / objetos (dependiendo de su lenguaje de programación). A medida que el jugador se mueve por el juego, mueve el puntero de posición de jugador al nodo de árbol que representa la ubicación. Cuando comienzas el juego, esta estructura de tipo de árbol está llena de cosas para recoger, monstruos, etc. Una semilla aleatoria también puede utilizarse para dispersar monstruos.

Esto ayuda a la velocidad del juego ya que solo tienes que buscar el nodo y los nodos actuales a un paso de tu ubicación / nodo actual. Las rutinas que activan que los monstruos avancen o retrocedan solo mueven el puntero de los monstruos al siguiente nodo o nodos. Si se usa un paquete de medicina, su puntero se destruye desde la habitación / nodo en el que se encuentra.

Buena suerte


Todas las entidades del juego, incluido el jugador, deberían estar en el mismo contenedor. Su IA recorrerá cada cuadro y llamará a alguna función que ejecute todos los objetivos de cada entidad.

Las entidades (como el jugador) tienen acceso a todas las demás entidades a través del mismo contenedor.

Sin embargo, tendrá que ser inteligente sobre el contenedor para hacer que la entidad acceda al contenedor eficientemente.


Una entidad controladora?

Debe pensar cuidadosamente sobre el uso de matrices simples, las búsquedas lineales a través de grandes matrices pueden consumir mucho tiempo para buscar cosas como colisiones.


Una forma de hacer la búsqueda un poco más eficiente es dividir las entidades que se actualizan en un árbol cuádruple. El árbol se dividiría en función de la ubicación en la pantalla o en el mundo del juego que hayas configurado. De esta forma, puede configurarlo para que solo las entidades cercanas se actualicen. Entonces, por ejemplo, si estás haciendo detección de impacto, puedes ignorar totalmente a los grupos grandes.

quad árboles

Espero que ayude