viernes, 2 de abril de 2021

Sobre OBS studio.



Sobre OBS studio.

Programa de captura de video en pantalla del pc y manipulación de videos.

Explico brevemente como configurar el sonido del micro al grabar lo que explico sobre mis videojuegos y que se escuche también de fondo el sonido del videojuego mientras lo voy comentando.

Primero hay que poner 2 capturas de entradas de audio una de ellas a de coger la del micrófono y la otra la de sonidos del pc en mi caso mezcla estéreo es la de sonidos de pc y la otra es la de micrófonos.

Cada una tiene para bajar y subir el volumen, si están las dos al máximo de volumen, cuando agais una grabación se escuchara muy de vil lo grabado desde micrófono y muy fuerte lo grabado desde pc.

Solución :

volumen de micrófono al máximo.

Volumen de pc a la mitad o menos.

Y como todo hay que ir probando y practicando asta hacer una grabación que resulte de agrado aquí os pongo un ejemplo y de paso comento los últimos avances de mi videojuego…...

 



domingo, 28 de marzo de 2021

nivel, 4 warlike_feats,

 😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁

 APOYA ESTE GAME...SOLO ES UNA SUGERENCIA....JAJAJAJAJJAJAJAJAJA¡¡¡¡¡¡😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁


jueves, 25 de marzo de 2021

Como hacer ítems de recuperar vidas con Unity



Como hacer ítems de recuperar vidas con Unity, aquí pongo los scripts en el blog, es muy sencillo solo se cambia una linea que pone el signo – menos por otra linea que pondremos el signo +mas, el mismo script pero con otro nombre y el mismo texto que utilizamos en el mismo camvas,

cuando toquemos los ítems que son unos cubos con la cruz roja sumara vidas el player cuando le alcances las balas del enemigos restara vidas el player en este caso el tag de sumar se llama “cruz” y el tag de restar se llama “pomada”.

 

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


        // Create public variables for player speed, and for the Text UI game objects
        public float speed;
        public Text countText;
        public Text winText;

        // Create private references to the rigidbody component on the player, and the count of pick up objects picked up so far
        private Rigidbody rb;
        private int count;/// <summary>



        // At the start of the game..
        void Start ()
        {

            rb = GetComponent<Rigidbody>();

            // Set the count to zero 
            //count = 0;////original
            count = 10;
            // Run the SetCountText function to update the UI (see below)
            SetCountText ();

            // Set the text property of our Win Text UI to an empty string, making the 'You Win' (game over message) blank
            winText.text = "";
        }


        void OnTriggerEnter(Collider other) 
        {


            if (other.gameObject.CompareTag ("pomada")){

                other.gameObject.SetActive (false);///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                // Add one to the score variable 'count'
                //count = count + 1;//////original
                count = count - 1;

                SetCountText ();
            }
        }

        // Create a standalone function that can update the 'countText' UI and check if the required amount to win has been achieved
        void SetCountText()
        {


            // countText.text = "VIDAS: " + count.ToString ();///original
            countText.text = "AMERICANO VIDAS: " + count.ToString ();
            // Check if our 'count' is equal to or exceeded 12
            //if (count >= 10) ////original
            if (count <= 1) 

                //if (count >= 99) 
            {
                // Set the text value of our 'winText'
                winText.text = "TE HAN MATADO";

                //Destroy (gameObject, 1.2f); 
                Application.LoadLevel (3);


            }
        }
    }



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

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



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



        // Create public variables for player speed, and for the Text UI game objects
        public float speed;
        public Text countText;
        public Text winText;

        // Create private references to the rigidbody component on the player, and the count of pick up objects picked up so far
        private Rigidbody rb;
        private int count;/// <summary>



        // At the start of the game..
        void Start ()
        {

            rb = GetComponent<Rigidbody>();

            // Set the count to zero 
            //count = 0;////original
            count = 10;
        //count = 0;
            // Run the SetCountText function to update the UI (see below)
            SetCountText ();

            // Set the text property of our Win Text UI to an empty string, making the 'You Win' (game over message) blank
            winText.text = "";
        }


        void OnTriggerEnter(Collider other) 
        {


            if (other.gameObject.CompareTag ("cruz")){

                other.gameObject.SetActive (false);///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                // Add one to the score variable 'count'
                //count = count + 1;//////original
                count = count + 1;

                SetCountText ();
            }
        }

        // Create a standalone function that can update the 'countText' UI and check if the required amount to win has been achieved
        void SetCountText()
        {


            // countText.text = "VIDAS: " + count.ToString ();///original
            countText.text = "AMERICANO VIDAS: " + count.ToString ();
            // Check if our 'count' is equal to or exceeded 12
            //if (count >= 10) ////original
            if (count <= 1) 

                //if (count >= 99) 
            {
                // Set the text value of our 'winText'
                winText.text = "TE HAN MATADO";

                //Destroy (gameObject, 1.2f); 
                Application.LoadLevel (3);


            }
        }
    }






😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄😄

👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👀👌👌👀👀👀👀👀👀👀👀

EJEMPLO DE ITEMS CON UNITY

👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌👌


👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄👄

COMO HACER PERSECUCIONES INTELIGENCIA ARTIFICIAL DE ENEMIGOS

 😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁

 

miércoles, 24 de marzo de 2021

Enemigo, especial ,



0,2,7 versión de warlike_feats, sigo trabajando en el videojuego, pongo la versión para quien quiera probarla e imágenes de las futuras mejorías que se verán muy pronto en el videojuego, como la idea de un enemigo especial mas poderoso de lo normal que tiene 1000 vidas y me persigne por el terreno de juego, también una mejora en el aspecto grafico para que se vea con claridad quien suma puntos en el videojuego y quien pierde vidas, e puesto una imagen en las puntuaciones para que el jugador sepa con claridad que es lo que esta pasando a lo largo de la jugada……...

 

 

domingo, 21 de marzo de 2021

c#, disparos con Unity,

 


DISPARO A DISPARO LENTO----------------

  /// <summary>
/// Launcher.
/// 
/// 3/2/2013
/// Steve Peters
/// Game Developers Guild - Miami, FL
/// 
/// Allows us to launch projectiles at a wall. It preinstantiates and stores the projectiles in a 
/// stack to improve performance
/// </summary>
using UnityEngine;
using System.Collections;

public class Launcher : MonoBehaviour
{
    
    public Rigidbody projectile;
    public Rigidbody explosiveProjectile;
    public float launchspeed = 50;
    public bool useExplodingProjectiles = false;
    
    private float _LaunchDelayTime = 0.0f;
    
    public int stackSize = 60;            
    public Transform launchHole1;
    public Transform launchHole2;
    
    private Stack _Projectiles;
    private Stack _ExplosiveProjectiles;
    private Transform _myTransform;
    
    // Use this for initialization
    void Start ()
    {
        _myTransform = transform;
        _Projectiles = new Stack();
        if(useExplodingProjectiles)
        {
        _ExplosiveProjectiles = new Stack();
        }

        for(int i = 0; i <  stackSize; i++)
        {
            Rigidbody tr = Instantiate (projectile, _myTransform.position, _myTransform.rotation) as Rigidbody;
            PushProjectile(tr);

            if(useExplodingProjectiles)
            {
            Rigidbody rr = Instantiate (explosiveProjectile, _myTransform.position, _myTransform.rotation) as Rigidbody;
            PushExplosiveProjectile(rr);
            }
        }
    }
    
    // Update is called once per frame
    void Update ()
    {
        if(_Projectiles.Count > 0)
        {
            if(Time.time > _LaunchDelayTime)
        {    




                if (Input.GetButton ("Fire1")) ////ametralladora
        //    if (Input.GetButtonDown ("Fire1")) original tiro a tiro

            {
                Rigidbody tr = PopProjectile();
                tr.gameObject.SetActive(true);
                tr.transform.position = launchHole1.position;
                tr.transform.rotation = launchHole1.rotation;
                tr.velocity = transform.TransformDirection (Vector3.forward * launchspeed);
                
                tr = PopProjectile();
                tr.gameObject.SetActive(true);
                tr.transform.position = launchHole2.position;
                tr.transform.rotation = launchHole2.rotation;
                tr.velocity = transform.TransformDirection (Vector3.forward * launchspeed);
                    
                _LaunchDelayTime = Time.time + 0.5f;
            }
        }    
        }

        if(useExplodingProjectiles)
        {
        if(_ExplosiveProjectiles.Count > 0)
        {
            if(Time.time > _LaunchDelayTime)
            {    
                if (Input.GetButtonDown ("Fire2")) 
                {
                    Rigidbody tr = PopExplosiveProjectile();
                    tr.gameObject.SetActive(true);
                    tr.transform.position = launchHole1.position;
                    tr.transform.rotation = launchHole1.rotation;
                    tr.velocity = transform.TransformDirection (Vector3.forward * launchspeed);
                    
                    tr = PopExplosiveProjectile();
                    tr.gameObject.SetActive(true);
                    tr.transform.position = launchHole2.position;
                    tr.transform.rotation = launchHole2.rotation;
                    tr.velocity = transform.TransformDirection (Vector3.forward * launchspeed);
                    
                    _LaunchDelayTime = Time.time + 0.5f;
                }
            }    
        }
        }
    }
    
    public void PushProjectile(Rigidbody x)
    {
        x.gameObject.SetActive(false);
         _Projectiles.Push(x);
    }
    
    public Rigidbody PopProjectile()
    {
        return (Rigidbody)_Projectiles.Pop();
    }

    public void PushExplosiveProjectile(Rigidbody x)
    {
        x.gameObject.SetActive(false);
        _ExplosiveProjectiles.Push(x);
    }
    
    public Rigidbody PopExplosiveProjectile()
    {
        return (Rigidbody)_ExplosiveProjectiles.Pop();
    }
}

 

 

 

  DISPARO A DISPARO RAFAGAS MUY RAPIDO IMITA AMETRALLADORA---------------

 

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

public class launchermasvelocidad : MonoBehaviour {


        public Rigidbody projectile;
        public Rigidbody explosiveProjectile;
        public float launchspeed = 50;
        public bool useExplodingProjectiles = false;

        private float _LaunchDelayTime = 0.0f;

        public int stackSize = 60;            
        public Transform launchHole1;
        public Transform launchHole2;

        private Stack _Projectiles;
        private Stack _ExplosiveProjectiles;
        private Transform _myTransform;

        // Use this for initialization
        void Start ()
        {
            _myTransform = transform;
            _Projectiles = new Stack();
            if(useExplodingProjectiles)
            {
                _ExplosiveProjectiles = new Stack();
            }

            for(int i = 0; i <  stackSize; i++)
            {
                Rigidbody tr = Instantiate (projectile, _myTransform.position, _myTransform.rotation) as Rigidbody;
                PushProjectile(tr);

                if(useExplodingProjectiles)
                {
                    Rigidbody rr = Instantiate (explosiveProjectile, _myTransform.position, _myTransform.rotation) as Rigidbody;
                    PushExplosiveProjectile(rr);
                }
            }
        }

        // Update is called once per frame
        void Update ()
        {
            if(_Projectiles.Count > 0)
            {
                if(Time.time > _LaunchDelayTime)
                {    




                    if (Input.GetButton ("Fire1")) ////ametralladora
                        //    if (Input.GetButtonDown ("Fire1")) original tiro a tiro

                    {
                        Rigidbody tr = PopProjectile();
                        tr.gameObject.SetActive(true);
                        tr.transform.position = launchHole1.position;
                        tr.transform.rotation = launchHole1.rotation;
                        tr.velocity = transform.TransformDirection (Vector3.forward * launchspeed);

                        tr = PopProjectile();
                        tr.gameObject.SetActive(true);
                        tr.transform.position = launchHole2.position;
                        tr.transform.rotation = launchHole2.rotation;
                        tr.velocity = transform.TransformDirection (Vector3.forward * launchspeed);

                        _LaunchDelayTime = Time.time + 0.1f;
                    }
                }    
            }

            if(useExplodingProjectiles)
            {
                if(_ExplosiveProjectiles.Count > 0)
                {
                    if(Time.time > _LaunchDelayTime)
                    {    
                        if (Input.GetButtonDown ("Fire2")) 
                        {
                            Rigidbody tr = PopExplosiveProjectile();
                            tr.gameObject.SetActive(true);
                            tr.transform.position = launchHole1.position;
                            tr.transform.rotation = launchHole1.rotation;
                            tr.velocity = transform.TransformDirection (Vector3.forward * launchspeed);

                            tr = PopExplosiveProjectile();
                            tr.gameObject.SetActive(true);
                            tr.transform.position = launchHole2.position;
                            tr.transform.rotation = launchHole2.rotation;
                            tr.velocity = transform.TransformDirection (Vector3.forward * launchspeed);

                            _LaunchDelayTime = Time.time + 0.5f;
                        }
                    }    
                }
            }
        }

        public void PushProjectile(Rigidbody x)
        {
            x.gameObject.SetActive(false);
            _Projectiles.Push(x);
        }

        public Rigidbody PopProjectile()
        {
            return (Rigidbody)_Projectiles.Pop();
        }

        public void PushExplosiveProjectile(Rigidbody x)
        {
            x.gameObject.SetActive(false);
            _ExplosiveProjectiles.Push(x);
        }

        public Rigidbody PopExplosiveProjectile()
        {
            return (Rigidbody)_ExplosiveProjectiles.Pop();
        }
    }