我正在尝试制作一个脚本,移动我的游戏对象一段时间,然后停止它2秒钟。
但我的代码确实让它运行了一会儿然后停止,但随后它进入了一个无休止的循环,什么也不做
这是我的代码;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Threading;
public class Enemyai : MonoBehaviour
{
public Animator anim;
public int timer = 100000;
public int Abstimer = 100000;
public bool running = true;
public float speed = 5;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (timer==0)
{
timer = Abstimer;
anim.SetBool("isRunning", false);
running = false;
Invoke("attack", 2);
}
if (running == true)
{
anim.SetBool("isRunning", true);
this.transform.position += transform.right * -speed * Time.deltaTime;
timer--;
}
}
void attack()
{
running = true;
}
'
1条答案
按热度按时间vmjh9lq91#
嗯...您知道您当前使其等待
100000
帧=〉正常帧速率约为每秒60帧,这使得大约
1667
秒-又名27分钟-等待...你更愿意做的是
例如:
也许更容易处理的可能是一个Coroutine像例如。
无论采用哪种方法,您都需要在Inspector中实际调整
Abstimer
的值,而不仅仅是在代码中