Hola, estoy haciendo un juego en unity para el movil es tipo shooting solo con duelos, el problema es que necesito un script para una revolver que tenga solo una bala y a la hora de disparar sea aleatoreamente algo asi como ruleta rusa, ya tengo mi modelo 3d y las animaciones solo que no se como implementar el script
Pues en el gameobject le pones el script de la bala o la pistola, si no recuerdo mal en el tutorial de unity de los tanques te enseña un script de disparar. Échale un ojo!
si todo eso lo tengo en claro se como hacer con el script que el arma dispare pero quiero hacer que un revolver gire el cargador y inserte una bala pero que a la hora de disparar no salga al primer disparo que sea aleatorio o por suerte
tengo la animacion insertando la bala pero no se como hacer el script a parte de que descontinuaron java
Random.Range(0,6) te dada un numero aleatorio entre 0 (incluido) y 6 (Excluido) ...osea: 0, 1, 2, 3, 4 o 5, (que son seis numeros)
if (Random.Range(0,6) == 0) {
//si hay bala
disparar();
}
si te da cero disparas, con el 1,2,3,4 y 5 no disparas...
no se si te servira
ok muchas gracias lo voy a intentar
//Disparo, Sonido
public GameObject HitAcertado;
//public GameObject EfectoDisparo;
public GameObject HuecoPared;
GameObject hueco;
public float Distancia;
float TiempoDisparo;
[SerializeField]
float _velocidad;
RaycastHit hit;
public AudioClip sonidoDisparo;
//Fin Disparo y Sonidos
//ANIMACIONES Y MUNICION
public int Balas = 1;
public int ComprobarRecarga = 1;
public int Cargador = 6;
Animation _animArma;
[SerializeField]
public float velocityAnimation;
//FIN ANIMACIONESY MUNICION
void Start ()
{
_animArma = GetComponent<Animation>();
//HitAcertado.SetActive(false);
// EfectoDisparo.SetActive(false);
}
void Update ()
{
if (Input.GetButton("Fire1") && !_animArma.IsPlaying("Recargar"))
{
TiempoDisparo += Time.deltaTime;
if (TiempoDisparo >= _velocidad && Balas >= 1)
{
_animArma["Disparar"].speed = velocityAnimation;
_animArma.Play("Disparar", PlayMode.StopAll);
Camera.main.GetComponent<AudioSource>().PlayOneShot(sonidoDisparo, 0.3f);
//EfectoDisparo.SetActive(true);
Balas -= 1;
Ray ray = new Ray(Camera.main.transform.position, Camera.main.transform.forward