domingo, 14 de marzo de 2021

¿Como estoy haciendo los cambios de niveles en Unity?

 


Cambiando de nivel…si funciona,el cambio de armas no me da resultado, en versión web no funciona, así que seguramente aprovechare el cambio de escena o nivel al atravesar una puerta o túnel o recinto para hacer ala vez un posible cambio de armas del player y de paso el cambio de nivel me produce, como diría psicológicamente como un descanso en el trabajo del proyecto, porque seria como iniciar un nuevo proyecto, nuevos enemigos nuevas, situaciones nuevos decorados,,,,la monotonía aburre siempre lo mismo siempre lo mismo cansa en el desarrollo y cansa en el posible jugador del videojuego…..¿como estoy haciendo los cambios de niveles?


De paso decir que una inteligente combinación de cambios de escenas o de nivel hacen descansar la memoria de una forma considerable y que el juego fluya sin colgarse a la mitad…..

pongo a continuación el script que produce el cambio de escena, este se le pone al player protagonista del videojuego, cuando hace contacto con un gameobject que esta nombrado con el tag “pasa” hace el cambio de escena o de nivel…..


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

public class portagaintrotercera : MonoBehaviour {

void Start () {

}




//void OnCollisionEnter (){


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


if (collision.gameObject.tag == "pasa") {
//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 (2);




}
}
}






jueves, 11 de marzo de 2021

cambio de arma al pasar o tocar diversos objetos del player sobre ellos, como e echo el efecto de las minas,? como e echo el efecto de muescas al impactar las balas sobre los objetos ? suelo paredes muros etc....? ¿como e echo un cambio de arma del player, el protagonista del videojuego?

 

Pequeño resumen para el blog de lo aprendido por practicas en videojuego "warlike feats, "the documents" "

impacto de balas en los objetos, pequeñas muescas que se forman en las paredes muros o suelo.

efecto de minas al pasar el protagonista del juego el player por ellas y su efecto sobre el player

cambio de arma al pasar o tocar diversos objetos del player sobre ellos, como e echo el efecto de las minas,?

como e echo el efecto de muescas al impactar las balas sobre los objetos ? suelo paredes muros etc....?

¿como e echo un cambio de arma del player, el protagonista del videojuego?


Tema 1 minas.

Primero he echo un cubo con el nombre de tag “pomada” para que el player al pasar sobre el o tocarlo active una explosión y a la vez en su marcador de vidas pierda una vida, luego e duplicado sucesivamente este cubo y los hijos se los e puesto a un padre otro cubo, el primero de la idea, para no tener que ir trasteando de uno en uno que se hace tedioso e innecesario.

Cada mina tiene un script en C# llamado Activate Trigger


using System;
using UnityEngine;
using Object = UnityEngine.Object;

namespace UnityStandardAssets.Utility
{
public class ActivateTrigger : MonoBehaviour
{
// A multi-purpose script which causes an action to occur when
// a trigger collider is entered.
public enum Mode
{
Trigger = 0, // Just broadcast the action on to the target
Replace = 1, // replace target with source
Activate = 2, // Activate the target GameObject
Enable = 3, // Enable a component
Animate = 4, // Start animation on target
Deactivate = 5 // Decativate target GameObject
}

public Mode action = Mode.Activate; // The action to accomplish
public Object target; // The game object to affect. If none, the trigger work on this game object
public GameObject source;
public int triggerCount = 1;
public bool repeatTrigger = false;


private void DoActivateTrigger()
{
triggerCount--;

if (triggerCount == 0 || repeatTrigger)
{
Object currentTarget = target ?? gameObject;
Behaviour targetBehaviour = currentTarget as Behaviour;
GameObject targetGameObject = currentTarget as GameObject;
if (targetBehaviour != null)
{
targetGameObject = targetBehaviour.gameObject;
}

switch (action)
{
case Mode.Trigger:
if (targetGameObject != null)
{
targetGameObject.BroadcastMessage("DoActivateTrigger");
}
break;
case Mode.Replace:
if (source != null)
{
if (targetGameObject != null)
{
Instantiate(source, targetGameObject.transform.position,
targetGameObject.transform.rotation);
DestroyObject(targetGameObject);
}
}
break;
case Mode.Activate:
if (targetGameObject != null)
{
targetGameObject.SetActive(true);
}
break;
case Mode.Enable:
if (targetBehaviour != null)
{
targetBehaviour.enabled = true;
}
break;
case Mode.Animate:
if (targetGameObject != null)
{
targetGameObject.GetComponent<Animation>().Play();
}
break;
case Mode.Deactivate:
if (targetGameObject != null)
{
targetGameObject.SetActive(false);
}
break;
}
}
}


private void OnTriggerEnter(Collider other)
{
DoActivateTrigger();
}
}
}



que al tocarlas el player provoca el cambio de esta por un efecto de explosión, es muy importante que cada pieza de mina este nombrada con el tag de “pomada” por que el player tiene un script en C# llamado restavida



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class restavida : 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 = "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 (1);


}
}
}







que tiene el tag nombra el tag de “pomada” para ir restando vidas al player asta hacer el cambio de gameobject del player el protagonista del videojuego desvaneciéndose en el suelo.



Mismo tag “pomada” que produce el sonido de muerte o desvanecimiento del player, en este script en C#


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

public class SUENAALPERDERUNAVIDA : MonoBehaviour {

public AudioSource tickSource;

void Start () {

tickSource = GetComponent<AudioSource> ();



}

void Update () {
}



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


tickSource.Play ();



}}

}




Tema 2 muescas de balas en muros.

Aquí el proyectil que lanza el player esta nombrado con el tag "balaamericano" y el proyectil tiene este script en c#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SANGRABALAAMERICANOELENEMIGO : MonoBehaviour {


public Rigidbody Sphere;
public float velocidad = 10f;
void disparador () {
Rigidbody SphereClon = (Rigidbody) Instantiate (Sphere, transform.position, transform.rotation);
SphereClon.velocity = transform.up * velocidad;


}

// Update is called once per frame
void Update () {


}

void OnTriggerEnter(Collider other) {

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

disparador ();///////////////////////////imbento yo


}}
}



A este script hay que arrastrarle en una casilla vaciá el gameobject que queremos se produzca cuando la bala toque otro objeto, yo e puesto unos cubos pequeñitos de los que sale humo….

Tema 3 cambio de armas…...continuara este me lo tengo que trabajar y estudiar mas porque en la versión web no me funciona al ser compilado aunque si funciona en la descargable para jugar desde este….continuara , paso el enlace de esta versión la 0,2,2 para que veáis lo aprendido practicado….



sábado, 6 de marzo de 2021

Warlike feats de fondo musical Cabalgata_de_las_valquirias de Wagner.

 


Pequeño detalle de 20 segundos de estudio, para hacerle un cambio de arma al player, también comentare dentro de poco un campo de minas que e echo para el videojuego, como lo e construido y que efecto hace en el videojuego, como afecta al player…….



0,1,9 Versión de mi videojuego, no me gustaba la música que tenia de fondo y recordando que a Hitler le gustaba la música clásica y Wagner en concreto, se me ocurrió que engancharía en la temática de mi videojuego y le pusto de fondo musical , Cabalgata_de_las_valquirias de Wagner.

http://joseluistrujillorodriguez.blogspot.com/2013/05/el-compositor-r-wagner-y-su-relacion.html

https://es.wikipedia.org/wiki/Cabalgata_de_las_valquirias



He mejorado el sangrado de las heridas, y he puesto una bandera de la época ondeando en la base enemiga alemana, también e retocado los fogonazos de los disparos y pienso hacer el mismo efecto ondeante de tela en ropa de los personajes haber como me sale, he de hacer también efecto sangrado heridas en los enemigos a los que yo ataco, y rellenar el argumento del videojuego de forma mas concreta….voy sobre la marcha, desde luego un buen fondo musical aumenta mucho la gracia del videojuego….creo que este mismo tema musical sale en la película Apocalypse Now.

https://es.wikipedia.org/wiki/Apocalypse_Now


(fragmento del enlace ((Destacable es también la escena en la que los helicópteros del noveno batallón de la Primera División de Caballería Aerotransportada bombardean un poblado vietnamita, todo ello ambientado con la música de Richard Wagner de la Cabalgata de las Valquirias, tal y como hacían los audiovisuales de la Luftwaffe en la instrucción de los cadetes. ))

 

 




 

jueves, 4 de marzo de 2021

¿como se hace un efecto de impacto de un personaje y su sangrado, perder vida, emitir un sonido de dolor?

 


0.1.8 pierdo vida, grito dolor y sangro, mas, mejor jugabilidad.

Siguiendo con mi ultimo videojuego ayer conseguí hacerle un efecto de sangrado al player que hace algo mas interesante o ameno el videojuego, y esto sumándolo a que pierde un punto de vida (tiene 10 vidas que iré manipulando según baya viendo) y que da un grito de dolor cuando recibe un disparo pues le da un aire mas correcto para ser un juego de disparos.

¿como se hace un efecto de impacto de un personaje y su sangrado, perder vida, emitir un sonido de dolor?

En este caso concreto explico lo del sangrado y muestro mis apuntes de mi libreta …..


 

 

Mi memoria es muy limitada y creo que en la libreta hice una especie de ecuación muy simple y muy personal una operación matemática de comparaciones con varios elementos del juego para conseguir que el player el protagonista del juego emita una sangrado cuando es impactado.

Utilizo los mismos elementos del disparador automático un cubo giratorio toca otro cubo y provoca mediante scripts que lance otro game object constantemente las balas.


Pues pensé e de hacer algo similar pero que en este caso el player es como si hiciera de pistola y de su cuerpo en lugar de disparar balas dispara salpicaduras sangrientas y que lo aga cuando sea impactado por una bala del enemigo, y lo e conseguido me da resultado.

Lo podéis ver en esta versión del juego que publico aquí la 0,1,8 y muestro también mi apunte en la libreta también pongo los escripts en c# utilizados y e de poner algunos detalles sobre los scripts para que funcionen si los queréis probar porque algunos por si solos no funcionan si no se arrastran por pantalla con el mouse algunos elementos del juego como gráficos y animaciones que hay que situarlos en diversas casillas al lado de los scripts C#

 

 

De una de las articulaciones del player e puesto una esfera de hay sale un cubo cada vez que tiene un impacto, un cubo transparente con gráficos de efecto de agua que le cambie el color azul por uno rojizo….


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

public class SANGRADOPLUMADA : MonoBehaviour {


        public Rigidbody Sphere;
        public float velocidad = 10f;
        void disparador () {
            Rigidbody SphereClon = (Rigidbody) Instantiate (Sphere, transform.position, transform.rotation);
            SphereClon.velocity = transform.up * velocidad;


        }

        // Update is called once per frame
        void Update () {


        }

        void OnTriggerEnter(Collider other) {

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

                disparador ();///////////////////////////imbento yo


            }}
    }
 


 

 

 

 

miércoles, 3 de marzo de 2021

¡¡¡¡Tengo un fan¡¡¡¡ GRACIAS!!!!!!!

 Formulario de contacto de Blogger <no-reply@blogger.com>
    
8:43 (hace 9 horas)
    
para mí
Hey Paco415!
I just wanted to send you a quick message to let you know that I really
enjoy your games! They are very weird and usually surreal, but my friends
and I always have a great time playing them. As a videogame developer
myself, I find your work very interesting, so keep it up!
Fransis

Atentamente,
Fransis | fransismiller........

Nota: Este correo electrónico se ha enviado a través del gadget Formulario
de contacto de la página https://videojuegosenlineaasaco4.blogspot.com

 

 

Traducción de texto

Texto original

584 / 5000 traducción
Formulario de contacto de Blogger <no-reply@blogger.com> 8:43 (hace 9 horas) para mí ¡Hola Paco415! Solo quería enviarte un mensaje rápido para hacerte saber que realmente disfruta tus juegos! Son muy raros y normalmente surrealistas, pero mis amigos y siempre me lo paso genial interpretándolos. Como desarrollador de videojuegos Yo mismo, encuentro tu trabajo muy interesante, ¡así que sigue así! Fransis Atentamente, Fransis | fransismiller ........ Nota: Este correo electrónico se ha enviado a través del gadget Formulario de contacto de la página https://videojuegosenlineaasaco4.blogspot.com

 

Pues muchisimas  gracias, lo que me motiva es que aprendo y no me siento estancado, mi amor al cine y al comic que antes dibujaba comics me han dado esta aficion, es como si hiciese una pelicula o dibujase un comic, es un mundo maravilloso, y hay estoy creando.
https://paco415.gamejolt.io


Well, thank you very much, what motivates me is that I learn and I do not feel stagnant, my love of cinema and comics that used to draw comics have given me this hobby, it is as if I made a movie or drew a comic, it is a wonderful world, and there I am creating.
https://paco415.gamejolt.io