tengo un problema cada que mi player recibe 2 golpes o 3 ya deja de hacerle daño a los enemigos ¿como arreglo esto?
@ClubGamerZone Жыл бұрын
Veridica si tienes algún Bool que no permita que reciba golpes, o que el trigger siga activo
@tonoh24473 жыл бұрын
Men te mereces más público, gracias por el tuto
@ClubGamerZone3 жыл бұрын
Gracias Tonoh! Un honor tus palabras :)
@tonoh24473 жыл бұрын
Me da un error en el minuto 13:30 se muevo muy raro y se se voltea el sprite muy rápido infinita mente
@ClubGamerZone3 жыл бұрын
configuraste el Ground check? debes verificar que tus checkers estén correctamente configurados, tocando el piso o listos para tocar las paredes, para que eso no te suceda
@tonoh24473 жыл бұрын
@@ClubGamerZone si, me equivoque en el wall detección porque puse wallcheck
@MrRAOB13 жыл бұрын
super buena la modalidad del Enemy que se puede elegir la Accion. justo como pensaba. me ayudaste mucho. Gracias.
@ClubGamerZone3 жыл бұрын
Excelente, me alegra mucho ser de ayuda!
@dark0vius11 ай бұрын
Buenas, te go un error en el enemigo tipo patrulla, que al llegar al puntoA cambia la animación a Idle, pero no detiene el movimiento, alguien tiene alguna forma de solucionarlo?
@izanami_funk2631 Жыл бұрын
alguien sabe como arreglar este error NullReferenceException: Object reference not set to an instance of an object?
@ClubGamerZone Жыл бұрын
Tienes que darle click al error y te va a mostrar la línea del error, null reference es que estás llamando un objeto que no existe
@rrivillox3 жыл бұрын
Hola. Sabes, tengo un problema. Por más que intento darle vuelta al código, no logro que el esqueleto se mueva. Sólo hace la animación de caminar pero no se desplaza. Hasta modifiqué la Box de la plataforma. Ayúdame por favor. :'(
@Swordless_RaXx3 жыл бұрын
Intenta cambiar la velocidad ( Speed ) del esqueleto ponle un valor de entre 10 o 15 a mi tambien me paso lo mismo.
@rrivillox3 жыл бұрын
@@Swordless_RaXx Voy y te confirmo. Gracias. :)
@rrivillox3 жыл бұрын
@@Swordless_RaXx Listo!!!! Tema solucionado. Gracias por la ayuda. ;)
@Swordless_RaXx3 жыл бұрын
@@rrivillox Excelente 👍🏻, no hay de que, Saludos 😁.
excelente tutorial, me podrias ayudar con un error? o alguna persona, no seria un error en el codigo porque no me marca pero anda perfecto el patrol en el suelo pero cuando lo subo a una plataforma no funciona, sigue de largo y se cae, estan los puntos y todo arriba tambien pero nada
@ClubGamerZone Жыл бұрын
Verifica el radio de detección y si el objeto está a buena altura (el detector)
@pablomontero644 Жыл бұрын
estuve probando muchas cosas y no se por que WallDetected no se activa, y claramente, no gira al chocar con una pared. paso mi codigo: public class EnemyMovement : MonoBehaviour { float Speed; Rigidbody2D rb; public bool WalkRight, isStatic, IsWalker, IsPatrol, ShouldWait, IsWaiting; Animator animator; public Transform WallCheck; public Transform PitCheck; public Transform GroundCheck; public bool pitDetected, wallDetected, groundDetected; public float DetectRadius; public LayerMask WAHtIsGround; public Transform PointA, PointB; public bool GoToA, GoToB; public float TimeToWait; // Start is called before the first frame update void Start() { GoToA = true; rb = GetComponent(); Speed = GetComponent().speed; animator = GetComponent(); } // Update is called once per frame void Update() { pitDetected = !Physics2D.OverlapCircle(PitCheck.position, DetectRadius, WAHtIsGround); wallDetected = Physics2D.OverlapCircle(WallCheck.position, DetectRadius, WAHtIsGround); groundDetected = Physics2D.OverlapCircle(GroundCheck.position, DetectRadius, WAHtIsGround); if ( (pitDetected || wallDetected) && groundDetected) { Flip(); } } private void FixedUpdate() { if (isStatic) { animator.SetBool("Idle", true); rb.constraints = RigidbodyConstraints2D.FreezeAll; } if (IsWalker) { rb.constraints = RigidbodyConstraints2D.FreezeRotation; animator.SetBool("Idle", false); if (!WalkRight) { rb.velocity = new Vector2(-Speed * Time.deltaTime, rb.velocity.y); } else { rb.velocity = new Vector2(Speed * Time.deltaTime, rb.velocity.y); } } else if(IsWalker == false) { animator.SetBool("Idle", true); } if (IsPatrol) { if (GoToA) { if (!IsWaiting) { animator.SetBool("Idle", false); rb.velocity = new Vector2(-Speed * Time.deltaTime, rb.velocity.y); } if(Vector2.Distance(transform.position, PointA.position) < 0.2f) { if (ShouldWait) { StartCoroutine(Waiting()); } Flip(); GoToA = false; GoToB = true; } } } if (GoToB) { if (!IsWaiting) { animator.SetBool("Idle", false); rb.velocity = new Vector2(Speed * Time.deltaTime, rb.velocity.y); } if (Vector2.Distance(transform.position, PointB.position) < 0.2f) { if (ShouldWait) { StartCoroutine(Waiting()); } Flip(); GoToA = true; GoToB = false; } } } IEnumerator Waiting() { animator.SetBool("Idle", true); IsWaiting = true; yield return new WaitForSeconds(TimeToWait); IsWaiting = false; animator.SetBool("Idle", false); } private void Flip() { WalkRight = !WalkRight; transform.localScale *= new Vector2(-1, 1); } }
@pablomontero644 Жыл бұрын
al final lo solucione agrgando una nueva layermask llamada WahtIsWall y collocandole una nueva layer llamada wall que puse en las paredes
@dzexionhernandez15752 жыл бұрын
Gran video, pero tuve un errorsote y puse la inicializada en el update, dure media hora buscando el error.
@ClubGamerZone2 жыл бұрын
Explica que sucedió bro?
@lordorochimaru84152 жыл бұрын
Me funciona de 10 bro. Una consulta, que además vi que también te sucedió. Cuando golpeas al enemigo qie va patrullando o en movimiento no sale disparado hacia atrás
@tonisantandreu17993 жыл бұрын
Decir que muy agradecido.Una gran ayuda por su parte
@woravuddungpracha50093 жыл бұрын
why i can't push * on the transform.localScale *= new Vector2(-1, transform.localScale.y);
@woravuddungpracha50093 жыл бұрын
and my skeleton cant flip because Is that line ?
@ClubGamerZone3 жыл бұрын
@@woravuddungpracha5009 it seems you can't multiply vectors
@RMDannyMUSTANG2 жыл бұрын
Cuando va a girar a la hora de multiplicar para girar el sprite la y se multiplica hasta infinito y bugea, alguien sabe como puedo arreglarlo?
@pistache_pirata09 Жыл бұрын
hay, la verdad he seguido tus tutoriales pero he tenido problemas con las plataformas y no aparecen como las pusiste, puedes mostrar como las hiciste?
@JuanFranco-mq7js3 жыл бұрын
gran tutorial bro, completo con algún inconveniente, pero completo, me dio el error que no flipeaban los enemigos, era xq hice su animacion de Idle achicando y alargando el eje Y del enemigo en el animator para dar el efecto como que respira, pasa que investigue basatnte y cuando haces eso no puedes modificar el transform y el Flip() no funcionaba, toco editar a mano sprites, nose si habia otra solucion, pero asi me quedo andando todo, dejo la exp x si a otro le pasa, ya que tuve que averiguarlo en ingles.
@ClubGamerZone3 жыл бұрын
Hola Juam, gracias por tu comentario. De hecho eso me sucedía mucho y por eso decidí no modificar los transform en mis juegos. Si mal no recuerdo, para poder hacer flip después de modificar escalas, lo mejor es multiplicar por -1 el local scale, así se mantendrá con la misma modificada. Así lo hiciste?
@JuanFranco-mq7js3 жыл бұрын
@@ClubGamerZone si multiplique X a -1 e Y a 1 xq había reescalado el Y del sprite a 0.65 y pues cada vez la altura se hacía más pequeño, la función del unity FlipX la use al comienzo del proyecto y ya la voy quitando xq no gira los hijos, aún tengo al Player con flipX y el hijo del hitbox de ataque girado manualmente, la próxima vez que le de al proyecto ya lo transformó todo a escalar a -1, también veré tu vídeo de Jump del player xq como lo tengo me da un bug raro que si toco un enemigo mientras está ascendiendo se va muy alto, es raro q pase pero pues pasa.
@ClubGamerZone3 жыл бұрын
@@JuanFranco-mq7js si, es lo raro y bacano de los tutoriales, así uno siga al pie de lanletra algo sucede, ya sea por los sprites o configuraciones, pero a la final uno siempre termina aprendiendo !
@tonisantandreu17993 жыл бұрын
transform.localScale *= new Vector2(-0.4f, transform.localScale.y); no me deja aplicarlo,esta mal??
@mehmeterenler80113 жыл бұрын
Hi ty for great tutotial .i want to ask that did u use tilepalet for this scene and whats your pixels per unit if u use tilepalet need 16 pixel per unit and when i change my character pixel 100 to 16 flip functions doesnt work it stays( -1. X)When idle play:(
@ClubGamerZone3 жыл бұрын
Hello, no, this are just sprites platforms aligned side by side. Try adding to you code an else if(RB.velocity.x==0)
@carlosmarin69802 жыл бұрын
Hola intente poner dos collider con Trigger uno para detectar al player y otro que es el que tiene el cuerpo, pero al entrar el player en el primero que es una especie de HotZone se activan los dos... hay alguna forma de que solo entre el HotZone y no me dispare el Trigger de daño del enemigo?
@lilardamerak91363 жыл бұрын
Excelente video, peor tengo un problema, al ir al punto A, acepta la animación pero no deja de caminar. Por favor si pudieran ayudarme.
@JoseCruz-cu3im11 ай бұрын
Lo arreglasteis
@MiqRuz3 жыл бұрын
Holaa. Voy a escribir por Discord ya que a partir del Patrol, tengo problemas. Teniendo la misma configuración, no me detecta los puntos A y B... ¡A ver si hay solución, por que es muy frustrante!.
@cristiancarrazana31313 жыл бұрын
hola me pasa lo mismo y no se que hacer
@MiqRuz3 жыл бұрын
@@cristiancarrazana3131 ya lo solucioné, en cuanto encienda el PC lo miro y te digo que hice.
@MiqRuz3 жыл бұрын
@@cristiancarrazana3131 Le pasó a otra persona y no logré descubrir el motivo. Pero al parecer dentro de if(goToB) y if(goToA) no reconoce el Vector2 que hay dentro de otro if(). Así que sustituye ese Vector por: if ((transform.position.x-puntoA.position.x)< 0.2f) y por: if ((transform.position.x-puntoB.position.x)< 0.2f) en sus respectivos sitios.
@cristiancarrazana31313 жыл бұрын
@@MiqRuz gracias pero disculpa vi el gotoA Y GO TOB Y se donde o como if (Vector2.Distance(transform.position.x - pointA.position.x) < 0.2f) no se como
@cristiancarrazana31313 жыл бұрын
@@MiqRuz hola gracias por tu ayuda pero no supe. Llevo un año tratando de aprender e comprado montan de cursos y tiene una forma de enseñar diferente yo soy persistente pero creo que no sirvo para esto.
@joanjimenez63593 жыл бұрын
bro, porque no me detecta el punta y punto b, comprobe dos veces el video y veo que tengo todo bien, que debo hacer?
@ClubGamerZone3 жыл бұрын
Mmm a ver, pega tu código acá. Pero antes revisa que la posición Z esté en 0
@joanjimenez63593 жыл бұрын
@@ClubGamerZone Rigidbody2D rg2d; Animator anim; public float speed; public float detectionRadius; public Transform pitCheck; public Transform wallCheck; public Transform groundCheck; public Transform PointA; public Transform PointB; private bool walldetected; private bool pitdetected; private bool isGround; public bool isPatrol; public bool isStatic; public bool isWalker; public bool walksRight; private bool goToA; private bool goToB; public LayerMask whatIsGround; // Start is called before the first frame update void Start() { goToB = true; rg2d = GetComponent(); anim = GetComponent(); speed = GetComponent().speed; } // Update is called once per frame void Update() { pitdetected = !Physics2D.OverlapCircle(pitCheck.position, detectionRadius, whatIsGround); walldetected = Physics2D.OverlapCircle(wallCheck.position, detectionRadius, whatIsGround); isGround = Physics2D.OverlapCircle(groundCheck.position, detectionRadius, whatIsGround); if ((pitdetected || walldetected) && isGround) { Flip(); } } private void FixedUpdate() { if (isStatic) { anim.SetBool("idle", true); rg2d.constraints = RigidbodyConstraints2D.FreezeAll; } if (isWalker) { rg2d.constraints = RigidbodyConstraints2D.FreezeRotation; anim.SetBool("idle", false); if (!walksRight) { rg2d.velocity = new Vector2(speed * Time.deltaTime, rg2d.velocity.y); } else { rg2d.velocity = new Vector2(-speed * Time.deltaTime, rg2d.velocity.y); } } if (isPatrol) { anim.SetBool("idle", false); if (goToB) { rg2d.velocity = new Vector2(speed * Time.deltaTime, rg2d.velocity.y); if (Vector2.Distance(transform.position, PointB.position) < 0.2f) { goToB = false; goToA = true; } } if (goToA) { rg2d.velocity = new Vector2(-speed * Time.deltaTime, rg2d.velocity.y); if (Vector2.Distance(transform.position, PointA.position) < 0.2f) { goToB = true; goToA = false; } } } } private void Flip() { walksRight = !walksRight; transform.localScale *= new Vector2(-1, transform.localScale.y); } primero puse positivo a la goToB porque el personaje esta mirando al lado derecho
@joanjimenez63593 жыл бұрын
@@ClubGamerZone bro porfa, ya copie exactamente el codigo y aun sigue sin detectar el pointA y pointB
@joanjimenez63593 жыл бұрын
@@ClubGamerZone Rigidbody2D rg2d; Animator anim; public float detectionRadius; float speed; public Transform pitCheck; public Transform wallCheck; public Transform groundCheck; public Transform pointA; public Transform pointB; public bool isStatic; public bool isWalker; public bool walkRight; public bool isPatrol; private bool walldetected; private bool pitdetected; private bool isGrounded; private bool goToA; private bool goToB; public LayerMask whatIsGrounded; // Start is called before the first frame update void Start() { goToA = true; rg2d = GetComponent(); anim = GetComponent(); speed = GetComponent().speed; } private void Update() { pitdetected = !Physics2D.OverlapCircle(pitCheck.position, detectionRadius, whatIsGrounded); walldetected = Physics2D.OverlapCircle(wallCheck.position, detectionRadius, whatIsGrounded); isGrounded = Physics2D.OverlapCircle(groundCheck.position, detectionRadius, whatIsGrounded); if ((pitdetected || walldetected) && isGrounded) { Flip(); } } // Update is called once per frame void FixedUpdate() { if (isStatic) { anim.SetBool("idle", true); rg2d.constraints = RigidbodyConstraints2D.FreezeAll; } if (isWalker) { rg2d.constraints = RigidbodyConstraints2D.FreezeRotation; anim.SetBool("idle", false); if (!walkRight) { rg2d.velocity = new Vector2(-speed * Time.deltaTime, rg2d.velocity.y); } else { rg2d.velocity = new Vector2(speed * Time.deltaTime, rg2d.velocity.y); } } if (isPatrol) { anim.SetBool("idle", false); if (goToA) { rg2d.velocity = new Vector2(-speed * Time.deltaTime, rg2d.velocity.y); if (Vector2.Distance(transform.position, pointA.position) < 0.2f) { goToA = false; goToB = true; } } if (goToB) { rg2d.velocity = new Vector2(speed * Time.deltaTime, rg2d.velocity.y); if (Vector2.Distance(transform.position, pointB.position) < 0.2f) { goToA = true; goToB = false; } } } } private void Flip() { walkRight = !walkRight; transform.localScale *= new Vector2(-1, transform.localScale.y); } }
@ClubGamerZone3 жыл бұрын
@@joanjimenez6359 HolaJoan, veo el codigo bn, tendría que rvisar el resto, podrías ingresar al discord?
@vicerix3 жыл бұрын
Muy buenis tutoriales bro, pero recuerda dejar los assets!!!!!, yo igual estoy usando el monje, pero en esta parte me complique buscando algo para el knife, saludos y porfa sigue con los videos
@ClubGamerZone3 жыл бұрын
Hola Juan, gracias por el comentario y lo tendré en cuenta
@cesarkimura20243 жыл бұрын
Tengo el mismo problema en "isPatrol", unity no reconoce el parámetro anim.SetBool("Idle",true);. el sprite se queda en el punto a o b con el sprite en walk, a que se debe éste problema, primera vez q me ocurre esto y no encuentro respuesta en la web, gracias por su tiempo. p.d. le he puesto debug por todas partes el programa se ejecuta en la secuencia correcta pero NO reconoce el parámetro Idle....
@ClubGamerZone3 жыл бұрын
Si el problema es el reconocimiento del parámetro idle, pregunto... si esta creado el bool idle? Podrías revisar eso?mira que no haya espacios en las palabras
@cesarkimura20243 жыл бұрын
@@ClubGamerZone El problema estaba al llamar a la coroutine se debe usar comillas "", StartCoroutine("Waiting"); y NO StartCoroutine(Waiting()); lo raro es que no daba error solo no hacia la animación, otra cosa hay q poner el contraints para q el sprite se detenga y para q camine.....
@cristiancarrazana31313 жыл бұрын
hola ayuda el death efect me sale arriba de los enemigos la idea es que desde abajo del enemigo ayuda por favor gracias
@ClubGamerZone3 жыл бұрын
mmm me muestras elcodigo del respawn?
@tonisantandreu17993 жыл бұрын
dice los operandos *= no se pueden aplicar a los Vector2 y Vector3
@dieguezd912 жыл бұрын
hola, la verdad el codigo me quedo genial, pero no hay forma de que mis enemigos detecten las caidas, pasan de largo siempre le ponga lo que le ponga, alguna posible solucion?
@jesusantoniogarciafusi40523 жыл бұрын
Hola, buenos dias. Primero que nada buen video, se agradece el trabajo que estas haciendo. Mira tengo un problema al hacer que el personaje vaya del punto A al B, no puedo hacer que de la vuelta. Ya cambie los vector 2 de los if a If((transform.position.x-PuntoA.position.x) < 0.2f) y se retiene en el punto A, no puedo hacer que gire. Me podrias ayudar?
@justdannii2 жыл бұрын
Oye, pudiste resolver el problema? A mi me pasa igual :/
@goranblazevich18023 жыл бұрын
Antes que nada felicitarte por los tutoriales, son increíbles y todo muy bien explicado! Estoy teniendo un problema que el enemigo cuándo defino los puntos A y B y tildo el "isPatrol" queda estático con la animación de caminar. Revise varias veces el código y no veo nada distinto a lo que hiciste. Que puedo hacer?
@ClubGamerZone3 жыл бұрын
Muchas gracias Goran! Solo por descarte, podrías ponerlo isWalker a ver si anda?
@goranblazevich18023 жыл бұрын
@@ClubGamerZone En isWalker camina perfectamente, detectando cuándo tiene una pared delante o cuándo termina la plataforma y rota perfectamente, eso funciona todo correcto. También cuándo pongo isStatic se queda quieto y con la animación de Idle. El problema es solamente cuándo quiero poner que patrulle, por eso me parece extraño.
@ClubGamerZone3 жыл бұрын
@@goranblazevich1802 mmm lo que haría sería revisar que los puntos a y B tengan los Z en cero, luego cuando el personaje se quede estático caminando, tomaría el punto A o B y los movería manualmente a la posición del esqueleto a ver si cambia la cosa, quizá no esté detectando los puntos por algo de la distancia
@goranblazevich18023 жыл бұрын
@@ClubGamerZone Puse ambos en 0 y de igual manera no camina. Cuándo muevo los puntos y hago que colisionen con el enemigo este sí responde a lo programado, gira y espera en idle. La única solución temporal que encontré fue cambiar los "rb.velocity = new Vector2(speed * Time.deltaTime, rb.velocity.y);" por "rb.velocity = new Vector2(speed / Time.deltaTime, rb.velocity.y);" Pero ahora flipea erróneamente. Al menos camina, me sirve jaja
@ClubGamerZone3 жыл бұрын
@@goranblazevich1802 llegate al discord, allá entre todos solucionamos
@cristiancarrazana31313 жыл бұрын
hola disculpa que te moleste es por tu buena voluntad ayuda no se por que se me activan antes los muros y no se ven estoy en el video 14 donde esta el jefe
@funfactory0013 жыл бұрын
hola es excelente lo que has hecho complementa muchas de las cosas que he visto pero tengo una duda que espero puedas ayudarme, cuando pongo al enemigo para que vaya de punto a hacia b sigue caminando y se queda intentado ponerse en idle pero no espera y sigue su camino espero puedas ayudarme de antemano gracias
@lilardamerak91363 жыл бұрын
Tengo el mismo problema, lograste solucionarlo?
@funfactory0013 жыл бұрын
@@lilardamerak9136 checa las colisiones de los colliders luego pasa que por fracciones el colliders no checa bien el ground tambien el collider del cuerpo del enemigo estaba por muy poco de ancho lo cual el trigger no lo detectaba y creo que tambien era de algo de animator de discrete a continuos checa si te funciona y me dices
@lilardamerak91363 жыл бұрын
@@funfactory001 hola bro, ya revisé colliders, y las animaciones; y están bien :S crees que me puedas ayudar más a fondo?
@funfactory0013 жыл бұрын
@@lilardamerak9136 claro podras mandarme un video sencillo y pasarme el link para verlo
@lilardamerak91363 жыл бұрын
@@funfactory001 claro! Igualmente si tienes discord o algún medio de mensajería igual podría por ahí pero si es más fácil, puedo subir un video.
@bausan99923 жыл бұрын
Puedes ayudarme, ya hice el código y todo pero mi enemigo no se mueve, puedes decirme que estoy haciendo mal. E hecho todo al pie de la letra, hasta unity y visual están en la versión que tú utilizaste, no sé que pasa
@ClubGamerZone3 жыл бұрын
Tendrías que darme más detalle, revisar el rigifbody o si te sale algún error, que los puntos a y b estén separados, el enemigo grounded
@bausan99923 жыл бұрын
Ok, dame un segundo
@bausan99923 жыл бұрын
Ahora este es el codigo, no se si me falta algo mas por sierto, me gustan mucho tus videos :D public class EnemyMovement : MonoBehaviour { float speed; Rigidbody2D rb; Animator anim; public bool isStatic; public bool isWalking; public bool walksRight; public Transform wallCheck, pitCheck, groundCheck; public bool walldetected, pitDetected, isGrounded; public float detectionRadius; public LayerMask whatIsGround; // Start is called before the first frame update void Start() { speed = GetComponent().speed; rb = GetComponent(); anim = GetComponent(); } // Update is called once per frame void Update() { pitDetected = !Physics2D.OverlapCircle(pitCheck.position, detectionRadius, whatIsGround); walldetected = Physics2D.OverlapCircle(wallCheck.position, detectionRadius, whatIsGround); isGrounded = Physics2D.OverlapCircle(groundCheck.position, detectionRadius, whatIsGround); if (pitDetected || walldetected) { Flip(); } } private void FixedUpdate() { if (isStatic) { anim.SetBool("Idle", true); rb.constraints = RigidbodyConstraints2D.FreezeAll; } if (isWalking) { rb.constraints = RigidbodyConstraints2D.FreezeRotation; if (!walksRight) { rb.velocity = new Vector2(-speed * Time.deltaTime, rb.velocity.y); } else { rb.velocity = new Vector2(speed * Time.deltaTime, rb.velocity.y); } } } public void Flip() { walksRight = !walksRight; transform.localScale = new Vector2(-1, transform.localScale.y); } }
@bausan99923 жыл бұрын
A y tambien quiero saber si tienen algun discord, me encantaria unirme, y poder hablar con todo el Club gamer :DDDDDDDDD
@bausan99923 жыл бұрын
Yai?
@cquezadaM3 жыл бұрын
Buenos videos, saludos
@cristiancarrazana31313 жыл бұрын
alguien q me ayude con lo de las patrullas todo bien pero las patrulla el enemigo sigue de largo no pesca el punto A y y sigue no patrulla
@Andy-sw1mb3 жыл бұрын
A mí también me pasó lo mismo
@Andy-sw1mb3 жыл бұрын
Creo que le tienes que aumentar la velocidad, como mínimo a 10; comprobar que esté activado "Is walker" y "Is Patrol"
@Andy-sw1mb3 жыл бұрын
Pero no se me activa lo de 4s de espera, y el esqueleto al dar la segunda vuelta, no se cambia de dirección y camina hacia atrás.
@Andy-sw1mb3 жыл бұрын
Este es mi scripts de Enemy Movement using System.Collections; using System.Collections.Generic; using UnityEngine; public class EnemyMovements : MonoBehaviour { float speed; Rigidbody2D rb; Animator anim; public bool isStatic; public bool isWalker; public bool isPatrol; public bool shouldWait; public float timeToWait; public bool isWaiting; public bool walksRight; public Transform wallCheck, pitCheck, groundCheck; bool walldetected, pitDetected, isGrounded; public float detectionRadius; public LayerMask whatIsGround; public Transform pointA, pointB; bool goToA, goToB; // Start is called before the first frame update void Start() { speed = GetComponent().speed; rb = GetComponent(); anim = GetComponent(); goToA = true; } // Update is called once per frame void Update() { pitDetected = !Physics2D.OverlapCircle(pitCheck.position, detectionRadius, whatIsGround); walldetected = Physics2D.OverlapCircle(wallCheck.position, detectionRadius, whatIsGround); isGrounded = Physics2D.OverlapCircle(groundCheck.position, detectionRadius, whatIsGround); if ((pitDetected || walldetected) && isGrounded) { Flip(); } } private void FixedUpdate() { if (isStatic) { anim.SetBool("Idle", true); rb.constraints = RigidbodyConstraints2D.FreezeAll; } if (isWalker) { rb.constraints = RigidbodyConstraints2D.FreezeRotation; anim.SetBool("Idle", false); if (!walksRight) { rb.velocity = new Vector2(-speed * Time.deltaTime, rb.velocity.y); } else { rb.velocity = new Vector2(speed * Time.deltaTime, rb.velocity.y); } if (isPatrol) { if (goToA) { if(!isWaiting) { anim.SetBool("Idle", false); rb.velocity = new Vector2(-speed * Time.deltaTime, rb.velocity.y); } rb.velocity = new Vector2(-speed * Time.deltaTime, rb.velocity.y); if(Vector2.Distance(transform.position, pointA.position)
@Andy-sw1mb3 жыл бұрын
He tocado alguna cosa sin querer y ahora no me funciona lo de "Is Patrol", solo "Is Walker" ;(