viernes, 18 de septiembre de 2020

C# UNITY

C# PARA UNITY PARA REINICIAR UN JUEGO

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

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
/// ////////////////////////7777777777777777777777777puestoyo ahoraaaaaaaaa sin esto no ba
/// </summary>
public class reiniciojuego : MonoBehaviour {



        public Text contador1;
        public Text fin1;
        private float tiempo = 8f;
        // Use this for initialization
        void Start () {
            contador1.text = " " + tiempo;
            fin1.enabled = false;




        }

        // Update is called once per frame
        void Update ()
        {
            tiempo -= Time.deltaTime;
            contador1.text = " " + tiempo.ToString ("f0");
            if (tiempo <= 0) {
                contador1.text = "0";
                fin1.enabled = true;









            {
//void OnTriggerEnter(Collider other) {
    //if (other.gameObject.CompareTag ("ogri2 (1)CAMPEONNNNNNNNNNNNNNNNNNN")){








Destroy (gameObject, 0.0f);

{

//Application.LoadLevel (1); ESTE ES EL ORIGINALLLLLLL

Application.LoadLevel (0);





            }
        }
    }
}

}

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

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

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

OTRO EJEMPLO PARA REINICIAR UN JUEGO

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

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

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
/// ////////////////////////7777777777777777777777777puestoyo ahoraaaaaaaaa sin esto no ba
/// </summary>
public class reiniciojuegotankes : MonoBehaviour {



        public Text contador1;
        public Text fin1;
        private float tiempo = 4f;
        // Use this for initialization
        void Start () {
            contador1.text = " " + tiempo;
            fin1.enabled = false;




        }

        // Update is called once per frame
        void Update ()
        {
            tiempo -= Time.deltaTime;
            contador1.text = " " + tiempo.ToString ("f0");
            if (tiempo <= 0) {
                contador1.text = "0";
                fin1.enabled = true;









            {
//void OnTriggerEnter(Collider other) {
    //if (other.gameObject.CompareTag ("ogri2 (1)CAMPEONNNNNNNNNNNNNNNNNNN")){








Destroy (gameObject, 0.0f);

{

//Application.LoadLevel (1); ESTE ES EL ORIGINALLLLLLL

Application.LoadLevel (0);





            }
        }
    }
}

}

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

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

PARA MOVIMIENTO DE UN OBJETO......EN ESTE CASO DE UNOS AVIONES

https://gamejolt.com/games/YELLOW_AIRPLANES_NO/527317

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

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

public class avionvuelasolo : MonoBehaviour {


    public float moveSpeed = 110f;
    public float turnSpeed = 50f;


    void Update ()
    {














        //if (Input.GetKey(KeyCode.W))////funciona contantemente al apretar W mayusculas a de ser
        //if (Input.GetKeyDown(KeyCode.W))// funciona pasito a pasito
        //if(Input.GetKey(KeyCode.UpArrow))
            transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);






        if (Input.GetKey(KeyCode.W))////funciona contantemente al apretar W mayusculas a de ser
        //if (Input.GetKeyDown(KeyCode.W))// funciona pasito a pasito
        //if(Input.GetKey(KeyCode.UpArrow))
            transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);




        if (Input.GetKey(KeyCode.S))////funciona contantemente al apretar W mayusculas a de ser
        //if(Input.GetKey(KeyCode.DownArrow))
            transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime);


        if (Input.GetKey(KeyCode.A))////funciona contantemente al apretar W mayusculas a de ser
        //if(Input.GetKey(KeyCode.LeftArrow))
            transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime);

        if (Input.GetKey(KeyCode.D))////funciona contantemente al apretar W mayusculas a de ser

        //if(Input.GetKey(KeyCode.RightArrow))
            transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
    }
}

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

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

PARA GIROS DE UN OBJETO SOBRE SIMISMO

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

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

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

public class aspa : MonoBehaviour {

        // Use this for initialization
        void Start () {


            //transform.rotation = Quaternion.Euler (0,45, 0);
        }





        // Update is called once per frame
        void Update () {
            // Es la rotacion de Angulos de Euler en grados.
            transform.Rotate (new Vector3 (33 * Time.deltaTime, 0, 0), Space.Self);


        }
    }
------------------------------------------------------------------------------------------------------------------

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

PARA LIBERAR MEMORIA BORRANDO OBJETOS

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

 using UnityEngine;
using System.Collections;
using UnityEngine;
public class BORRAMIBALA : MonoBehaviour {
    public float Destroy = 2f;
    // Use this for initialization
    void Start () {
       
    }
    
    
    
    
    void OnCollisionEnter (){
       
        Destroy (gameObject, 3.30f);
       
       
       
       
       
    }
}

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

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

OTRO EJEMPLO DE LIBERAR MEMORIA DE OBJETOS POR TIEMPO EN UN JUEGO

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

using System;
using UnityEngine;

namespace UnityStandardAssets.Utility
{
    public class TimedObjectDestructor : MonoBehaviour
    {
        [SerializeField] private float m_TimeOut = 1.0f;
        [SerializeField] private bool m_DetachChildren = false;


        private void Awake()
        {
            Invoke("DestroyNow", m_TimeOut);
        }


        private void DestroyNow()
        {
            if (m_DetachChildren)
            {
                transform.DetachChildren();
            }
            DestroyObject(gameObject);
        }
    }
}
-------------------------------------------------------------------------------------------------------------------------------

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

PARA CONTROLAR OBJETOS CON EL MOUSE CON EL RATON...

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

using System;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;

namespace UnityStandardAssets.Utility
{
    public class SimpleMouseRotator : MonoBehaviour
    {
        // A mouselook behaviour with constraints which operate relative to
        // this gameobject's initial rotation.
        // Only rotates around local X and Y.
        // Works in local coordinates, so if this object is parented
        // to another moving gameobject, its local constraints will
        // operate correctly
        // (Think: looking out the side window of a car, or a gun turret
        // on a moving spaceship with a limited angular range)
        // to have no constraints on an axis, set the rotationRange to 360 or greater.
        public Vector2 rotationRange = new Vector3(70, 70);
        public float rotationSpeed = 10;
        public float dampingTime = 0.2f;
        public bool autoZeroVerticalOnMobile = true;
        public bool autoZeroHorizontalOnMobile = false;
        public bool relative = true;
        
        
        private Vector3 m_TargetAngles;
        private Vector3 m_FollowAngles;
        private Vector3 m_FollowVelocity;
        private Quaternion m_OriginalRotation;


        private void Start()
        {
            m_OriginalRotation = transform.localRotation;
        }


        private void Update()
        {
            // we make initial calculations from the original local rotation
            transform.localRotation = m_OriginalRotation;

            // read input from mouse or mobile controls
            float inputH;
            float inputV;
            if (relative)
            {
                inputH = CrossPlatformInputManager.GetAxis("Mouse X");
                inputV = CrossPlatformInputManager.GetAxis("Mouse Y");

                // wrap values to avoid springing quickly the wrong way from positive to negative
                if (m_TargetAngles.y > 180)
                {
                    m_TargetAngles.y -= 360;
                    m_FollowAngles.y -= 360;
                }
                if (m_TargetAngles.x > 180)
                {
                    m_TargetAngles.x -= 360;
                    m_FollowAngles.x -= 360;
                }
                if (m_TargetAngles.y < -180)
                {
                    m_TargetAngles.y += 360;
                    m_FollowAngles.y += 360;
                }
                if (m_TargetAngles.x < -180)
                {
                    m_TargetAngles.x += 360;
                    m_FollowAngles.x += 360;
                }

#if MOBILE_INPUT
            // on mobile, sometimes we want input mapped directly to tilt value,
            // so it springs back automatically when the look input is released.
            if (autoZeroHorizontalOnMobile) {
                m_TargetAngles.y = Mathf.Lerp (-rotationRange.y * 0.5f, rotationRange.y * 0.5f, inputH * .5f + .5f);
            } else {
                m_TargetAngles.y += inputH * rotationSpeed;
            }
            if (autoZeroVerticalOnMobile) {
                m_TargetAngles.x = Mathf.Lerp (-rotationRange.x * 0.5f, rotationRange.x * 0.5f, inputV * .5f + .5f);
            } else {
                m_TargetAngles.x += inputV * rotationSpeed;
            }
#else
                // with mouse input, we have direct control with no springback required.
                m_TargetAngles.y += inputH*rotationSpeed;
                m_TargetAngles.x += inputV*rotationSpeed;
#endif

                // clamp values to allowed range
                m_TargetAngles.y = Mathf.Clamp(m_TargetAngles.y, -rotationRange.y*0.5f, rotationRange.y*0.5f);
                m_TargetAngles.x = Mathf.Clamp(m_TargetAngles.x, -rotationRange.x*0.5f, rotationRange.x*0.5f);
            }
            else
            {
                inputH = Input.mousePosition.x;
                inputV = Input.mousePosition.y;

                // set values to allowed range
                m_TargetAngles.y = Mathf.Lerp(-rotationRange.y*0.5f, rotationRange.y*0.5f, inputH/Screen.width);
                m_TargetAngles.x = Mathf.Lerp(-rotationRange.x*0.5f, rotationRange.x*0.5f, inputV/Screen.height);
            }

            // smoothly interpolate current values to target angles
            m_FollowAngles = Vector3.SmoothDamp(m_FollowAngles, m_TargetAngles, ref m_FollowVelocity, dampingTime);

            // update the actual gameobject's rotation
            transform.localRotation = m_OriginalRotation*Quaternion.Euler(-m_FollowAngles.x, m_FollowAngles.y, 0);
        }
    }
}
---------------------------------------------------------------------------------------------------------------------------

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

PARA BORRAR OBJETOS , EN ESTE CASO AL PULSAR TECLA "K"

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

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

public class nivelfacil : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }



    void Update ()
    {



    if (Input.GetKey(KeyCode.K))

    //void OnCollisionEnter (){

        Destroy (gameObject, 0.00f);




    }
}

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

----------BALA ENEMIGA PROBOCA AL COLISIONAR PLAYER REINICIAR EL VIDEOJUEGO-------------------------------------------------------------------------------------------------------------

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

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

public class BALAENEMIGAMEREINICIAPORTAG : MonoBehaviour {


    //public float distancePerSecond;//////IMBENTADO




    //public float Destroy = 0.2f;
    // Use this for initialization
    void Start () {

    }




    //void OnCollisionEnter (){


    void OnCollisionEnter (Collision collision)
    {
        //if (collision.gameObject.tag == "maloazul (4)") {
        //Destroy (gameObject, 0.0f); 


        if (collision.gameObject.tag == "pomada") {
            //Destroy (gameObject, 2.0f); 

            //    transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
            //transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO

            //Application.LoadLevel (1);////ORIGINALLLLLLLLLLLL
            Application.LoadLevel (1);




        }
    }
}

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

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

 ----------------BORRA UN GAMEOBJECT AL PRESIONAR DOS TECLAS AL MISMO TIEMPO

 

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

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

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

public class borraalpresionardosteclasalavez : MonoBehaviour {

        // Use this for initialization
        void Start () {

        }



        void Update ()
        {



            if ((Input.GetKey(KeyCode.W)) &&(Input.GetKey(KeyCode.E)))

                //void OnCollisionEnter (){

                Destroy (gameObject, 0.00f); 



        }
    }

 

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

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

 ------------------------------------- CAMBIA LAS COORDENADAS DE UN GAMEOBJECT AL SER COLISIONADO--------------------------------------------------------------------------------------------

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

 

 

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

public class cambiacordenadasalcolisionarportac : MonoBehaviour {


    //public float distancePerSecond;//////IMBENTADO




        //public float Destroy = 0.2f;
        // Use this for initialization
        void Start () {

        }




        //void OnCollisionEnter (){


        void OnCollisionEnter (Collision collision)
        {
            //if (collision.gameObject.tag == "maloazul (4)") {
            //Destroy (gameObject, 0.0f); 


            if (collision.gameObject.tag == "balaamericano") {
                //Destroy (gameObject, 2.0f); 

            transform.position = new Vector3 (198.301f, 20.316f, 136.023f);/////////nuebo mio
            //transform.Translate (new Vector3 (198 * Time.deltaTime, 20, 136.2f), Space.Self);/////////////IMBENTADO


        


            }
        }
    }

 

 

 

 

 

 

 

 

 

 

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

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

 DISPARANDO RAFAGAS DE AMETRALLADORA AL MANTENER PULSADA UNA TECLA O UN BOTON DEL RATON

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

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

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();
        }
    }


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

------SCRIPT DE C# PARA CREAR UNA CAMARA UN GAMEOBJECT UN CUBO AL QUE ASOCIAMOS UNA CAMARA Y QUE LA ACTIVAMOS AL APRETAR LA TECLA -D-

------https://videojuegosenlineaasaco4.blogspot.com/p/script-de-c-para-crear-una-camara-un.html---------------------------------------------------------------

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


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

public class CREACAMARAALAPRETARAOD : MonoBehaviour
{

    public GameObject retra, pico;

    void Update()
    {
        // if (Input.GetKey(KeyCode.D))

        if (Input.GetKeyDown(KeyCode.D))
        // if (Input.GetButton(KeyCode.D))

        //if (Input.GetButton("Fire3") )
            


            //  if (Input.GetKeyDown(KeyCode.Alpha2))//////original
            {
                retra.SetActive(true);//original
                pico.SetActive(false);//original
 

        }



           if (Input.GetKeyDown(KeyCode.A))
          {
          retra.SetActive(false);
        pico.SetActive(true);

    }


        if (Input.GetKeyDown(KeyCode.W))
        {
            retra.SetActive(false);
            pico.SetActive(true);

        }


        if(Input.GetKeyDown(KeyCode.S))
        {
            retra.SetActive(false);
            pico.SetActive(true);

        }

    }

}

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

😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃

C# PARA UNITY

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

lunes, 24 de agosto de 2020

Ver especial telefono movil y phone.

https://gamejolt.com/games/YELLOW_AIRPLANES_NO/527317

Estoy entusiasmado, el otro día prove de cargar uno de mis juegos desde mi teléfono móvil y para mi sorpresa se cargaban todos en pantalla, desde mi teléfono con el navegador chrome .


Yo hace tiempo usando unity , ago los juegos para pc descargar o jugar desde la web con un pc, pero vi que me funcionan también en el teléfono, hoy me pasado el trayecto del metro a casa jugando a este juego de aviones, que os pongo el enlace arriba de la pagina, un juego mio, no innovo nada del mercado un simple juego de persecución y disparos simplón pero entretenido, estoy contento con las visitas que va teniendo, asta e conseguido nuevos seguidores que miran mis trabajos.


Y para un teléfono pasar un rato persiguiendo aviones enemigos y derriban dolos........lo bueno es que es muy simple de manejar el avión dispara solo y tu con el dedo de izquierda a derecha de derecha a izquierda de arriba a abajo de abajo a arriba solo lo guiás y ya esta, exploras el cielo uno a reacción a por el, uno en el suelo aparcado a por el , mira unos trenes con vagones, a dispararlos y a explotarlos, anda también hay un complejo industrial con contenedores de combustible, menudo estropicio voy hacer atacándolo.............


Sigo trabajando y ampliando el juego mientras aya visitas....cuando vea que la gente no se interesa abra que hacer otro proyecto, por supuesto lo are pensando en la navegabilidad de un teléfono móvil

viernes, 28 de febrero de 2020

videojuego del oeste apoya al desarrollador

 
 







script-c#-pasar-de-nivel Y JUEGO ROBOTS DE FUEGO COMO SE HACEN NIVELES CON UNITY BABY BOUM
animacion-unity-y-blender 
proyecto-juego-de-disparos 
TUTORIAL DISPAROS CON UNITY Y CON BLENDER 
GAMEJOLT EJEMPLOS Y COMPLEMENTOS 
Ejemplo de animar con unity.tutorial... JUEGA  
tienda-online-apoya-al-desarrollador 
forest-firefighters 
tutorial-hacer-efecto-de-explosion 
EJEMPLOS C# UNITY 
MUNDO REAL MUNDO VIRTUAL MIS PENSAMIENTOS 
LA MEMORIA EN UNITY 
CONSTRUCT3 MOTOR DE JUEGOS 
entidad-3d.-MOTOR DE JUEGOS 
fps-creator 
FPS CREATOR IMAGENES 
SCRIPT C# Y ANALISIS DE UN JUEGO EN GAMEJOLT 
4-pagina-de-mis-videos-de-youtube- 
5 PAGINA MIS VIDEOS DE YOUTUBE 
SISTEMA DE PUNTOS CON UNITY 
4º pagina videos de mis juegos en https://itch.io 
3-pagina-de-videos. 
MAS VIDEOS CAPTURAS DE MIS JUEGOS 
YOUTUBE, MAS VIDEOS DE MIS TEMAS 
DISEÑO GRAFICO 
GIF ANIMADOS COMICS CHISTES 
comics, teveos, graficos, gif, animados, 
EJERCICIOS DE COLISIONES CON BLENDER, Y DE MOVIMIENTOS 
2 PARTE DE VIDEOS BLENDER EN GIF-12-11-2017 
tutorial animar con unity y blender con imagenes en formato gif 
tutorial animacion standar en unity de player. 
JavaScript, para Unity  
dar animacion a personaje con unity  
Agregar un personaje modelado con blender y texturizado con blender a unity  
blender doy textura a figura humana  
ITCH.IO TUTORIAL DE MIS JUEGOS, VIDEOS CON AUDIO.  
como poner sonido en unity  
1ª tema blender y su motor de juegos 
 arachnid killer C# scripts
Voy a explicar un poco la mecánica del juego Truck-and-explosions 
como asignar por teclas animaciones en unity de un personaje   
diseno-de-una-cama-con-cajones-en-3d 
Nav Mesh Agent,  
gamejolt  
Descripcion y comentarios del juego 77puntos  
Storyboard  
Construct2 video de la demo descargale desde mi blog.  
wimi5 amplio tema 
pruebasssssssss  
juego de carreras de coches con marcador de puntos. wimi5  
CIUDAD_BLENDER 
unity captura de pantalla  
como-iluminar-neones-en-unity. 
juego para descargar rompetochos echo con game maker  
juego-robots-de-fuego, descripcion y c#
imagenes generales ,unity,game maker, blender,wimi5.  
juego rompetochos con game maker 
juego de futbolin, con game maker 
descargas-de-varios-juegos-mios-blender 
juegos descargables destaca "cañones de nabarone@ echo con blender 
diseño 3d de una cama real 
fotos/3d-diseno-de-una-cama-real.html 
videos de youtube de personas jugando mis juegos y criticandolos 
blender-colision-de-personajes-andando 
/pruebas-de-luz-y-sombra- 
juego de ovnis 

flas-galaxian-avances-importantes, TEMA DISPAROS Y PUERTAS AUTOMATICAS 

 ---JUEGA DESDE

LA WEB Y TAMBIEN DESDE UN TELEFONO PHONE 

https://gamejolt.com/games/YELLOW_AIRPLANES_NO/527317 

---JUEGA DESDE

LA WEB Y TAMBIEN DESDE UN TELEFONO PHONE

      LICENCIA DE USO. [NOMBRE DEL AUTOR Y/O SITIO CON LINK https://paco415.gamejolt.io----https://videojuegosenlineaasaco4.blogspot.com/--https://asaco41515.itch.io/----https://www.youtube.com/channel/UCZRQHshxOXGmRq86s5gL_iQ?view_as=subscriber] tiene la plena propiedad y derechos de autor sobre esta obra, para la que permite Uso Comercial con las siguientes limitaciones: No se permite la redistribución de la misma por parte de otros sitios, tal cual o modificada. La descarga de esta obra solo puede realizarse desde la web del autor. Por tanto, tampoco se permite la reventa, arrendamiento, licenciamiento, sublicenciamiento u ofrecerla para su descarga gratuita.

    No se requiere mención de autoría al usar esta obra, aunque de realizarse será apreciada. Si se quiere hablar sobre ella en un blog o artículo en internet –o cualquier otro medio- se es libre de hacerlo, pero nunca con realojamiento de la obra en otros lugares de internet ajenos al autor (se pueden poner imágenes de muestra siempre que no sean una parte significativa del total). La forma indicada para compartir este contenido es colocando un enlace a la web original del mismo, donde el usuario podrá acceder a su totalidad.





    LICENSE DETAILS. [[NOMBRE DEL AUTOR Y/O SITIO CON LINK https://paco415.gamejolt.io----https://videojuegosenlineaasaco4.blogspot.com/--https://asaco41515.itch.io/----https://www.youtube.com/channel/UCZRQHshxOXGmRq86s5gL_iQ?view_as=subscriber]] has the full ownership and copyrights of this work, for which allows Commercial Use with the following limitations: you are not allowed to redistribute it in other sites, as is or modified. Download just can be done from the author’s site. You do not have rights to use or modify this work to redistribute, resell, lease, license, sub-license or offer free downloads of it.

    No mention of authorship is required when using this work, although it will be appreciated. If you want to spread the word about it you are free to do it, but never hosting this work by yourself in other sites (you can use preview images if they’re not a significant part of the total). The correct way to share this work is linking to the original web page, where users will have full access to the content.
https://asaco41515.itch.io/web-west-jail-intro