domingo, 10 de abril de 2022

Machines war;







 
 

 

martes, 5 de abril de 2022

Slider barra de vida explicado con utilidad, Unity, video y script; y cambio de GameObject;

 Slider barra de vida explicado con utilidad, Unity, video y script;  y cambio de GameObject;

 


 

  using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ARRASA : MonoBehaviour {

    public int damage;
    public int vidaEnemigo;
    public Slider BarraVidaEnemigo;





    public Rigidbody cubo;/// pruebas






    void Update () {

        BarraVidaEnemigo.value = vidaEnemigo;

    }


    void OnTriggerEnter(Collider other) {
    //    if (other.gameObject.CompareTag ("Player")){
            if (other.gameObject.CompareTag ("caca")){

            vidaEnemigo-=damage;

            if (vidaEnemigo <= 0) {

                Destroy (this.gameObject);/////destruye funciona

            //    Application.LoadLevel (0);




                Rigidbody p = Instantiate(cubo, transform.position, transform.rotation);////pruebassss






            //    Application.LoadLevel (1);///cambia la escena donde quiero funciona


            }


        }}

}

lunes, 4 de abril de 2022

SORPRESA E SUBIDO LOS ARCHIVOS A MEGA PARA QUE LOS PODÁIS DESCARGAR DESDE AQUÍ, PARA QUE LOS PROBÉIS CON VUESTRO PC ;

 

SORPRESA E SUBIDO LOS ARCHIVOS A MEGA PARA QUE LOS PODÁIS DESCARGAR DESDE AQUÍ, PARA QUE LOS PROBÉIS CON VUESTRO PC ….AQUÍ EL ENLACE TODO LO QUE SALE EN LOS VIDEOS ESTA AQUÍ…..LOS ASETS LOS SCRIPTS LOS SONIDOS LAS TEXTURAS TODO.......

 

 

 

 DESCARGATE DESDE AQUI TODOS LOS ARCHIVOS DE LOS VIDEOS SOBRE SLIDER BARRA DE VIDA


 

SCRIPTS EN C# PARA HACER UNAS BARRAS DE VIDA EN UNITY 2 PARTE;

 


Bueno e resuelto finalmente el tema de que un Player al ser abatido por un enemigo, poco a poco perdiendo vida mediante un slider, al final aga un cambio de escena, y que al contrario si el Player abate al enemigo y este poco a poco va perdiendo vida su slider al llegar al final aga otro cambio de escena diferente,


Me a costado mirar muchos tutoriales en video de YouTube y copiando el script en C# que los videos mostraban, pero la mayoría de ellos no me funcionaban, imagino que por pequeños detalles que se me escapaban a mi y otros detalles que se le escapaban a los youtubers que colgaban sus explicaciones…… en fin yo muestro el resultado de mi esfuerzo y publico los scripts por si alguien quiere aprovecharlos y también esta el enlace del video que me a dado pie a lo conseguido y que en el blog muestro.

De una docena de tutoriales solo uno me fue útil haciendo yo unos pequeños cambios en el script, ya que en el original solo menguaba el slider al apretar la tecla “e” del teclado, y yo e conseguido que mengue al haber colisiones mediante tag personal de los gameobjects y que consiga el cambio de escena...para enemigo muerto o para el player si muere…….

 

  using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ARRASA : MonoBehaviour {

    public int damage;
    public int vidaEnemigo;
    public Slider BarraVidaEnemigo;


    void Update () {

        BarraVidaEnemigo.value = vidaEnemigo;

    }


    void OnTriggerEnter(Collider other) {
    //    if (other.gameObject.CompareTag ("Player")){
            if (other.gameObject.CompareTag ("caca")){

            vidaEnemigo-=damage;

            if (vidaEnemigo <= 0) {

            //    Destroy (this.gameObject);/////destruye funciona

            //    Application.LoadLevel (0);

                Application.LoadLevel (1);///cambia la escena donde quiero funciona


            }


        }}

}


 ----------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------

  using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class OTAMAS : MonoBehaviour {

    public int damage;
    public int vidaEnemigo;
    public Slider BarraVidaEnemigo;


        void Update () {

        BarraVidaEnemigo.value = vidaEnemigo;

        }


        void OnTriggerEnter(Collider other) {
            //if (other.gameObject.CompareTag ("MATA")){
            if (other.gameObject.CompareTag ("pipi")){

            vidaEnemigo-=damage;



            if (vidaEnemigo <= 0) {

            //    Destroy (this.gameObject);////destruye funciona

            //    Application.LoadLevel (1);

                Application.LoadLevel (2);////cambia la escena donde quiero funciona





            }


            }}

    }


---------------------------------------------------------------------

---------------------------------------------------------------------

En este video muestro el script y como paso el slider ,y como nombro por tag propio los proyectiles que disparan, cada personaje, el player su proyectil y su tag ,y el enemigo su proyectil y su tag, el player su script para su barra de vida o slider, y el enemigo su propio script para su barra de vida o slider.

Ojala le sea útil a alguien yo e tardado casi un mes en aprender hacer esto, partiendo de aquí a elaborar los personajes y a lucirse trabajándolos modelándolos y texturizan dolos, a mas de inventarse una argumento para un videojuego, eso si muy corto alargarse ya se alarga solo al desarrollarlo…..


 


domingo, 3 de abril de 2022

SCRIPTS EN C# PARA HACER UNAS BARRAS DE VIDA EN UNITY A COMENTAR PROXIMAMENTE;


 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DatoEnemigodatoesdatandoeldatodatado : MonoBehaviour {


    public int damage;
    public int vidaEnemigo;
    public Slider BarraVidaEnemigo;



    void Update () {

        BarraVidaEnemigo.value = vidaEnemigo;
            if(Input.GetKeyDown(KeyCode.E))/////////ORIGINAL


        {


            vidaEnemigo-=damage;
        
    }
}
}

 

 

 

 

  using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ARRASA : MonoBehaviour {

    public int damage;
    public int vidaEnemigo;
    public Slider BarraVidaEnemigo;


    void Update () {

        BarraVidaEnemigo.value = vidaEnemigo;

    }


    void OnTriggerEnter(Collider other) {
        if (other.gameObject.CompareTag ("Player")){


            vidaEnemigo-=damage;



            if (vidaEnemigo <= 0) {

                Destroy (this.gameObject);
            }


        }}

}


 

 

 

 

 

 

  using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class OTAMAS : MonoBehaviour {

    public int damage;
    public int vidaEnemigo;
    public Slider BarraVidaEnemigo;


        void Update () {

        BarraVidaEnemigo.value = vidaEnemigo;

        }


        void OnTriggerEnter(Collider other) {
            if (other.gameObject.CompareTag ("MATA")){


            vidaEnemigo-=damage;



            if (vidaEnemigo <= 0) {

                Destroy (this.gameObject);
            }


            }}

    }

 

jueves, 31 de marzo de 2022

¡¡¡Ayuda sobre este tema si alguien lee el blog y quiere echarme una manita!!;Cambios de escena mediante slider;

 

hola estoy estudiando con unity la forma de hacer dos barras de vida ,una para un player que dispara a un enemigo, y la otra barra de vida es del enemigo,( barra de vida slider en la jerga de unity).

Cuando disparo al enemigo su barra de vida va menguando.

Cuando me dispara el enemigo ami mi barra de mi vida va menguando.

Asta aquí todo bien.

Lo que quiero es que cuando mi barra de vida llegue a su fin haga un cambio de escena.

Cuando la barra de vida del enemigo llegue a su fin haga otro cambio de escena pero diferente, diferente escena me refiero.


Todo esto consigo hacerlo, pero no consigo que cada barra de vida al finalizar provoque su particular cambio de escena.

Mediante script de C# consigo realizar todo esto pero me falla lo del cambio de escena, siempre sale le misma aunque por script las diferencio.



Aquí la del player

   public void SentirDolor(int cantidad)
   {
      this.vidaActual -= cantidad;
      barraVida.value = this.vidaActual;

      if (vidaActual <= 0 )
      {
      Application.LoadLevel (1);////imbento yo


---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
Aquí la del enemigo.
   public void SentirDolor(int cantidad)
   {
      this.vidaActual -= cantidad;
      barraVida.value = this.vidaActual;

      if (vidaActual <= 0 )
      {
      Application.LoadLevel (2);////imbento yo






domingo, 27 de marzo de 2022

Script en C# para Unity que produce disparos de enemigo tipo rafaga, y se puede manipular los tiempos de disparo;

 


  using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class disparo : MonoBehaviour {

    public Transform player;

  //  public float range = 1f;
    //public float range = 4f;

 // MANIPULAR PARA CAMBIAR LAS VELOCIDADES DE DISPARO
    public float range = 0.04f;


    public float bulletImpulse = 0.1f;

    private bool onRange = false;

    public Rigidbody projectile;

    void Start()
    {


 

 
       // float rand = Random.Range(1.0f, 2.0f);/////ORIGINAL
        //float rand = Random.Range(0.04f, 2.0f);/////tambien funciona
        //float rand = Random.Range(0.04f, 0.5f);/////tambien funciona

 //ATENCION A ESTAS LINEAS DE ARRIBA, MANIPULANDOLAS SE CAMBIAS LOS TIEMPOS

DE DISPAROS A MAS LENTOS A MAS RAPIDOS Y SEGUIDOS

  // float rand = Random.Range(1.0f, 2.0f);/////ORIGINAL DISPARA LENTAMENTE


        float rand = Random.Range(0.04f, 0.08f);

/////tambien funcionaDISPARA RAPIDAMENTE




        InvokeRepeating("Shoot", 2, rand);//////ORIGINAL
    


    }

    void Shoot()
    {

        if (onRange)
        {

            Rigidbody bullet = (Rigidbody)Instantiate(projectile, transform.position + transform.forward, transform.rotation);
            bullet.AddForce(transform.forward * bulletImpulse, ForceMode.Impulse);

            Destroy(bullet.gameObject, 2);
        }


    }

    void Update()
    {

        onRange = Vector3.Distance(transform.position, player.position) < range;

        if (onRange)
            transform.LookAt(player);
    }


}

 

---------------------------------------------------------------------------

---------------------------------------------------------------------------

-------------------------------------------------------------------------

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class disparo : MonoBehaviour {

    public Transform player;

  //  public float range = 1f;
    //public float range = 4f;
    public float range = 0.04f;


    public float bulletImpulse = 0.1f;

    private bool onRange = false;

    public Rigidbody projectile;

    void Start()
    {
       // float rand = Random.Range(1.0f, 2.0f);/////ORIGINAL
        //float rand = Random.Range(0.04f, 2.0f);/////tambien funciona
        //float rand = Random.Range(0.04f, 0.5f);/////tambien funciona
        float rand = Random.Range(0.04f, 0.08f);/////tambien funciona

        InvokeRepeating("Shoot", 2, rand);//////ORIGINAL

    }

    void Shoot()
    {

        if (onRange)
        {

            Rigidbody bullet = (Rigidbody)Instantiate(projectile, transform.position + transform.forward, transform.rotation);
            bullet.AddForce(transform.forward * bulletImpulse, ForceMode.Impulse);

            Destroy(bullet.gameObject, 2);
        }


    }

    void Update()
    {

        onRange = Vector3.Distance(transform.position, player.position) < range;

        if (onRange)
            transform.LookAt(player);
    }


}