Por lo que entiendo en los árboles de comportamiento, cada comportamiento debe ser una acción orientada a objetivos cortos que se pueda realizar en unas pocas iteraciones.
Entonces, por ejemplo, a continuación se muestra una imagen de un Árbol de comportamiento:
Ahora supongamos que el comportamiento Drive To Enemy requiere más de unas pocas iteraciones en el árbol. Entonces, en cada pase, se llama Drive To Enemy porque ahora está en estado de ejecución .
El problema es que quiero llamar a Evade Enemy si hay un Enemy cerca. Y teniendo en cuenta que Drive To Enemy siempre se llama, nunca tengo la oportunidad de llamar a Evade Enemy ( probablemente debería llamarse Evitar enemigo ).
- ¿Debo atravesar el árbol CADA pase sin importar qué acción se esté ejecutando actualmente?
- ¿Voy por esto de la manera correcta?
- ¿Cuál es la forma correcta de manejar tal comportamiento?
Originalmente preguntado en Stackoverflow. Pensé que aquí sería un lugar más apropiado para hacer esta pregunta.