using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AoESelfDetonate : MonoBehaviour
{
public bool CanAoE = true;
public bool isAoE = false;
public float AoECoolDown = 5f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(2))
{
Debug.Log("Button Down");
StartCoroutine(CooldownNoHit());
if (CanAoE == true)
{
Debug.Log("Can AoE");
CanAoE = false;
isAoE = true;
Animator anim = GetComponent<Animator>();
anim.SetTrigger("Explode");
StartCoroutine(ResetAttackCooldown());
}
}
}
void OnCollisionEnter2D(Collision2D collision)
{
Debug.Log("On Hit");
if (collision.gameObject.CompareTag("Enemy") && isAoE == true)
{
Destroy(collision.gameObject);
Debug.Log("On Destroy");
}
}
IEnumerator ResetAttackCooldown()
{
yield return new WaitForSeconds(AoECoolDown);
CanAoE = true;
}
IEnumerator CooldownNoHit()
{
isAoE = true;
yield return new WaitForSeconds(0.60f);
isAoE = false;
}
}
每当我按下用于播放动画的按钮时,它都会播放,但是它会一直播放,直到我停止代码。应该是当按下按钮时动画播放一次然后停止几秒钟。另外,我希望按下的按钮是“E”,但我也不知道该怎么做。碰撞盒工作正常,一切都只是动画。如果这是统一动画师的问题,那么有人可以尝试帮助我(我是说尝试帮助我,因为我不提供动画师的图像)
编辑:Hitbox 也不起作用
动画剪辑 (.anim) 具有循环属性。这是显示它的文档。
如果动画文件是您头像的一部分(如不是独立的 .anim 资源文件),则转到头像的导入设置,然后在“动画”选项卡下,单击列表中的相关动画,您应该会看到下面检查了循环/循环时间属性。如果它是一个独立的资源,只需单击该资源,检查器也应该显示相同的“循环/循环时间”属性。取消选中它,这将确保当动画器状态播放时,它将播放一次。是否完成动画,取决于您如何设置状态(例如退出时间等)。