代码如下:
float speed = 3f;
public Text texts;
public Transform qiu;
public Transform Xue;
NavMeshAgent age;
Animator an;
public GameObject enamy;
public static bool a2=false;
public Image aaa;
void Start()
{
an = GetComponent<Animator>();
age = GetComponent<NavMeshAgent>();
StartCoroutine(BB());
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Q))
{
an.SetTrigger("ji1");
}
Vector3 pos = Camera.main.WorldToScreenPoint(qiu.position);
Xue.position = pos;
texts.transform.position = pos;
if (a2)
{
texts.text = (-10).ToString();
aaa.fillAmount -= (0.1f);
StartCoroutine(AA());
a2 = false;
}
if (Input.GetMouseButtonDown(1))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
age.SetDestination(hit.point);
transform.LookAt(hit.point);
}
}
if (age.remainingDistance <= 1f)
{
an.SetFloat("run", 0);
}
else
{
an.SetFloat("run", 1);
}
}
IEnumerator AA()
{
yield return new WaitForSeconds(3f);
texts.text = null;
}
IEnumerator BB()
{
yield return new WaitForSeconds(3f);
int z = Random.Range(1,11);
int x = Random.Range(-11,11);
Instantiate(enamy,new Vector3(x,0,z),Quaternion.identity);
}
血条跟随:先将玩家世界坐标转换为屏幕坐标,然后把这个值给image创建的血条,将这段放入Update里,即可完成血条跟随,飘血效果一样,这个代码还不完善,后期我会去完善