https://videojuegosenlineaasaco4.blogspot.com/p/de-los-primerisimos-juegos-que-hice.html
Godot, scripts para Godot estudios y aprendizajes, Creacion de videojuegos. Creacion y publicacion de videojuegos en internet. Como hacer videojuegos. C# unity. Animaciones unity blender. Personajes videojuegos graficos dibujos. Diseño grafico. Comic. Animaciones gif. Dibujo de retratos. Realidad virtual. Cine y realidad virtual.
sábado, 19 de septiembre de 2020
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);
}
}
}
--------------------------------------------------------------------------------------------------------------------
😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃😃
😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁
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
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 DESDELA 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