i want to make a fighting game 2d in unity. The problem is when i make animation to punch or kick, it’s always back to idle although it’s still playing. i have tried to use fighter.GetCurrentAnimatorStateInfo(0).IsName(“High Kick”) but still wrong…Anyway this my code:
if (!mulai || berdiri) {
fighter.SetInteger("gerak", 0);
}
if (Input.GetKey(KeyCode.RightArrow)) {
fighter.SetInteger("gerak", 2);
berdiri = false;
}
else {
berdiri = true;
}
if (Input.GetKeyUp(KeyCode.J)) {
berdiri = false;
fighter.SetInteger("gerak", 4);
}
if (Input.GetKeyUp(KeyCode.I)) {
berdiri = false;
fighter.SetInteger("gerak", 5);
}
if (Input.GetKeyUp(KeyCode.L)) {
berdiri = false;
fighter.SetInteger("gerak", 6);
}
if (Input.GetKeyUp(KeyCode.K)) {
berdiri = false;
fighter.SetInteger("gerak", 7);
}
if (fighter.GetCurrentAnimatorStateInfo(0).IsName("Low Kick")) {
mulai = true;
Debug.Log("Low");
// Avoid any reload.
}
else if (fighter.GetCurrentAnimatorStateInfo(0).IsName("High Kick")) {
mulai = true;
Debug.Log("High");
// Avoid any reload.
}
else if (mulai) {
mulai = false;
}
Sorry for my lack of english… I hope someone can help me. Thanks