Ya te he solucionado tal problema y has modificado el código de una forma brusca, tanto que no te funciona.¿Que controla este componente?
- Existe un gran problema de diseño, o directamente no existe tal, te invito a que detengas el proyecto, y lo empieces por diseñar a mano en una hoja. No es necesario redactar un GDD, con un simple documento de orientación ya serviria. ¿A qué se debe la mala implementacion de vidaEnemegoIA?
"NO SE USAN VARIABLES ESTÁTICAS PARA ESTOS CASOS"¿Tenes un gran utilidad llamada Evento, y creaste una variable de tipo BOOL que reemplace tal?
- La Diferencia es que en esta necesitaras comprobar continuamente en una función de bucle del juego, ej Update, para comprobar su valor
****TIPS**** Para esta clase de diseño, es conveniente utilizar evento relacion, esto se veria de la siguiente manera.
Actor>Action(Lanza Puñetazo)>¿Di con el Objetivo?>GetTarget>ApplyDamage(Target)>InfoToManager.
Esto es fácil de comprender para cualquier persona, se leería de esta manera, Actor lanza un puñetazo si este colisiona con el objetivo convierte el objetivo como su target y luego le aplica daño.6º Teniendo todos estos pasos totalmente armados, los analizamos, y volvemos a aplicar una ligera normalización.7º ¡Es hora de programar!La satisfacción más grande para un programador es terminar su cometido con buenos resultados, y lo único que te lleva a esto es, Amar lo que haces, ser ordenado, diseñar y analizar la problemática, estar dispuesto a aprender y leer, aprender matemáticas, ejercitar bastante y por supuesto, las 2 mas importante, ***verancia y Responsabilidad. Espero sea de tu agrado leer y tratar de entender las cosas, entonces no tendrias estos problemas tan simples.
- Existe un gran problema de diseño, o directamente no existe tal, te invito a que detengas el proyecto, y lo empieces por diseñar a mano en una hoja. No es necesario redactar un GDD, con un simple documento de orientación ya serviria. ¿A qué se debe la mala implementacion de vidaEnemegoIA?
"NO SE USAN VARIABLES ESTÁTICAS PARA ESTOS CASOS"¿Tenes un gran utilidad llamada Evento, y creaste una variable de tipo BOOL que reemplace tal?
- La Diferencia es que en esta necesitaras comprobar continuamente en una función de bucle del juego, ej Update, para comprobar su valor
if(isDead) Hacer....- Cuando trabajas con eventos las cosas funcionan totalmente distintas, vos no implementas esto (SI tal X Evento), se lo hace de la siguiente manera Evento > Función (Se Generó tal evento Hacemos X), Solo se llaman una vez, EJ en la función Start.
Evento += Función;* Los Eventos tienen múltiples ventajas y una de ellas es su óptimo rendimiento y flexible implementacion. Entonces ¿Cómo Solucionamos tu problema?1º Analizemos el Proyecto, ¿Que quieres lograr?2º Analizemos cada Actor , ¿Como es el Persona Principal?, ¿Que puede hacer?, ¿Existe IA o solo es Acción<->Evento?3º Analizar en detalle qué componentes deberias utilizar para tal. EJ : Personaje Principal -> InputManager -> Movement -> Animator -> HealtControl4º Normalizar componente, es decir, que no exista redundancia de datos. EJ: Para Todos los Actores, no importa que sea el Jugador o un Actor del Sistema vamos a utilizar los mismos componentes, Movement -> Animator -> HealtControl.5º Diseñar los Componentes, para este paso lo mejor es HOJA Y LÁPIZ, el diseño de tal, tiene que ser comprendido por cualquier persona, esto quiere decir, no pienses como programarlo, Diseña tus Eventos, y Acciones, EJ ¿Qué pasa si?.
****TIPS**** Para esta clase de diseño, es conveniente utilizar evento relacion, esto se veria de la siguiente manera.
Actor>Action(Lanza Puñetazo)>¿Di con el Objetivo?>GetTarget>ApplyDamage(Target)>InfoToManager.
Esto es fácil de comprender para cualquier persona, se leería de esta manera, Actor lanza un puñetazo si este colisiona con el objetivo convierte el objetivo como su target y luego le aplica daño.6º Teniendo todos estos pasos totalmente armados, los analizamos, y volvemos a aplicar una ligera normalización.7º ¡Es hora de programar!La satisfacción más grande para un programador es terminar su cometido con buenos resultados, y lo único que te lleva a esto es, Amar lo que haces, ser ordenado, diseñar y analizar la problemática, estar dispuesto a aprender y leer, aprender matemáticas, ejercitar bastante y por supuesto, las 2 mas importante, ***verancia y Responsabilidad. Espero sea de tu agrado leer y tratar de entender las cosas, entonces no tendrias estos problemas tan simples.
PD: Espero que esto sea leído por otros usuarios que se encuentran en constantes problemas similares, para que entiendan cómo funciona y puedan seguir adelante sin código masticado.[/quote]Saludos.