Antes de continuar en hacer un simple AI, vamos a echar un vistazo a cómo los ataques de caracteres. Si se mira de cerca cuando el jugador presione K varias veces (o botón de ataque en el mando), el personaje va a atacar sin parar. Quiero evitar esto porque atacar sin parar hará que el juego becoma un tipo de botón de maceración. Añadir una variable de instancia llamada attackCount (un número) a la familia de mascotas, por lo que esta limitación también afectará a los otros miembros del grupo. Y luego, en el caso de que se llama la función charaAttacks (donde se pulsa el botón K por ejemplo), añadir 1 a la attackCount del personaje. Tal vez usted se preguntará: ¿por qué no añadir el attackCount dentro de la función charaAttacks? Porque hacer que hará que attackCount de otros miembros del grupo se suman cuando uno personaje ataque. Para evitar que he aumentado attackCount de atacar el carácter en el lugar que estoy seguro de que es el personaje controlado que ataca. Vamos a tener que implementar algo como esto en el evento cuando atacan a otros miembros del grupo.


Después de que vamos a añadir un comportamiento de temporizador a la familia, esto para hacer un poco de retraso después de que el personaje termina su ataque en función de su attackCount. Este retardo necesidades que se nombrará para que la usemos, yo simplemente el nombre de “descanso”, porque el jugador está descansando después de la entrega de una serie de ataques. Hacer una variable constante de cadena con el valor de “descanso”. A continuación, añadir una variable de instancia llamado estado para toda la familia, aquí es donde vamos a dar el valor de “descanso” para la marca que este personaje solo atacó de forma consecutiva.

Hacer dos eventos que los mangos al jugador introducir “descanso” que los extremos de estado del Estado y cuándo. El personaje entrará en “reposo” cuando su alcance attackCount 3 (o lo que sea tiempo desea que el combo sea). Aquí se inicia el temporizador con la etiqueta “doneRest” durante 1 segundo (o el tiempo que quiere que sea), después del tiempo programado, el temporizador se activará un evento AlCronómetro, que puede ser reconocido por la etiqueta que le dimos. Vamos a terminar el “descanso” estado en este evento AlCronómetro.


No se olvide de cambiar la parte posterior attackCount a 0 en caso friendly attackCount> = 3, si no, entonces temporizador no se disparará un evento AlCronómetro. Esto se debe a que el valor de attackCount cada bucle será igual o mayor que 3, y vamos a iniciar el temporizador de cada bucle, esto dará lugar a que el temporizador no puede contar hasta el momento en que nos propusimos y luego el valor de estado no se vaciará . Por último, no se olvide de cambiar el evento en el que nuestros ataques de carácter un poco, por lo que el personaje sólo atacan cuando no está en estado de reposo.


A continuación voy a añadir un simple AI a nuestro enemigo, por ahora la IA sólo se mueve el monstruo más cerca cuando se vea nuestro carácter (no atacará por ahora). Primero se debe agregar una línea de comportamiento de la vista a los enemigos de la familia, este comportamiento determinará si el personaje es lo suficientemente cerca del enemigo o no. A continuación, añadir una variable de instancia llamada radio a los enemigos de la familia, el enemigo atacará el carácter cuando el personaje está dentro del alcance de este radio, para comenzar el valor del radio es de 60 (en píxeles), también he cambiado la línea de la gama de la vista a 150.

A continuación, escribo dos nuevos eventos. El primero es cuando el enemigo ve que un personaje está cerca, en segundo lugar, cuando no ve. Cuando el enemigo se ve el personaje, se moverá más cerca de su radio, cuando no sólo se va a parar (por ahora, por lo menos). Esta organización también cambiar la animación a pie del enemigo.


Por ahora el enemigo sólo se seguirá el personaje como un perro bueno, pero después quiero que el enemigo sea capaz de atacar y usar habilidades. Y vamos a necesitar una más compleja AI para el jefe, y el sistema de inteligencia artificial tendrá que ser fácilmente personalizable por lo que hará nuestro trabajo más fácil al hacer otro enemigo. Voy a escribir sobre ello en mi próximo tutorial.

Mensajes relacionados

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *