protected void Shoot() { //假如现有武器冷却完毕 if (currentWeapon.IsColdDown()) { //重新开始冷却计时!!! //timer = 0; //开火点对象显示开火火花 firePoint.gameObject.SetActive(true); //播放射击动画 myAni.SetTrigger("Shoot"); //产生子弹 //Debug.Log("生成子弹"); Collider2D[] enemys = Physics2D.OverlapCircleAll(transform.position, 5f); for (int i = 0; i < enemys.Length; i++) { if (enemys[i].gameObject.tag == "enemy") { enemy = enemys[i].gameObject; break; } } if (enemy != null) { //现有武器获取瞄准方法(参数为敌人的自身位置) currentWeapon.Aim(enemy.transform.position); currentWeapon.Fire(firePoint); } else { Vector3 v = Camera.main.ScreenToWorldPoint(Input.mousePosition); v = Vector3.Scale(v, Vector3.right + Vector3.up); currentWeapon.Aim(v); currentWeapon.Fire(firePoint); //currentWeapon.Aim(transform.position + transform.right); } //现有武器的开火方法(开火点)——如何被调用的,作用是什么? //currentWeapon.Fire(firePoint); } }