Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Unity 2D анимация атаки

да да Ученик (64), на голосовании 2 месяца назад
Пишу код для атаки персонажа и хочу, чтобы проигрывалась анимация, но при данном коде она не проигрывается, название анимации "Player_Attack", подскажите как решить, скрипт прикреплю ниже
 using System.Collections; 
using System.Collections.Generic;
using System.Threading;
using Unity.VisualScripting;
using UnityEngine;

public class PlayerAttack : MonoBehaviour
{
private float timeBtwAttack;
public float startTimeBtwAttack;

public Transform attackPose;
public float attackRage;
public LayerMask whatIsEnemy;
public int damage;
private bool attack;
public void fuckingclick()
{
Animator anim = this.GetComponent();
anim.SetBool("Player_Attack", true);
}
private void Update()
{
if (timeBtwAttack < 0)
{
if (Input.GetMouseButton(0))
{
Collider2D[] enemiesToDamage = Physics2D.OverlapCircleAll(attackPose.position, attackRage, whatIsEnemy);
for (int i = 0; i < enemiesToDamage.Length; i++)
{
enemiesToDamage[i].GetComponent().TakeDamage(damage);
}
}


timeBtwAttack = startTimeBtwAttack;
}
else
{
timeBtwAttack -= Time.deltaTime;
}
}

void OnDrawGizmosSelected()
{
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(attackPose.position, attackRage);
}
}
Голосование за лучший ответ
744 + 744 Мудрец (12620) 3 месяца назад
ошибка какая вылазит?
да даУченик (64) 3 месяца назад
ошибки никакой в том то и прикол, просто анимация не проигрывается, а урон наносится
да да, надо не название анимации, а переменную писать, которая привязана к этой анимации через транзакцию
да даУченик (64) 3 месяца назад
типо если у меня переменная Attack то нужно её писать?
да да, anim.SetBool("Attack ", true); так
да даУченик (64) 3 месяца назад
да даУченик (64) 3 месяца назад
Смотри у меня вот так
да да, Да, все правильно, только у тебя указан тригер в аниматоре, а ты setBool пишешь в функции. Либо переменную в bool сделай, либо вместо setBool пишешь setTrigger. Можно ещё с настройками анимации поиграться, чтобы выходило естественно.
да даУченик (64) 3 месяца назад
Спасибо большое, правда всё равно анимация не проигрывается
да да, https://github.com/Veeksy/Gladiators вот тебе репозиторий, можешь спокойно его запускать и смотреть. полазь в аниматоре, посмотри, как что работает
Похожие вопросы