Buenas noches , tengo un pequeño problema con un disparo que me realiza un enemigo.
En este caso es una nave enemiga que al estar en un rango de alcance, me dispara. hasta aquí todo esta bien.
El problema viene cuando instancio el láser que me dispara el enemigo....intento que me dispare en intervalos osea que salga por ejemplo 1 laser cada segundo pero me saca 300 lasers seguidos y en linea!!
no veo donde fallo para que solo dispare un laser cada por ejemplo 1 segundo.
Este es el script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class enemigoataca : MonoBehaviour {
private Transform target;
public int moveSpeed;
public int rotationSpeed;
public int maxRange;
public int minRange;
public GameObject bulletPrefab;
public Transform bulletSpawn;
public float speed;
AudioSource audio;
bool disparo =false;
public float tiempodisparo =0.5f;
private float nextFire =0.0f;
private Transform myTransform;
void Awake()
{
myTransform = transform;
}
void Start ()
{
GameObject go = GameObject.FindGameObjectWithTag("Player");
target = go.transform;
}
void Update ()
{
Debug.DrawLine(target.position, myTransform.position, Color.yellow);
//Look at target
myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed * Time.deltaTime);
if ((Vector3.Distance (transform.position, target.position) < maxRange) && (Vector3.Distance (transform.position, target.position) > minRange