Medal of honor, tribute


 


Medal of honor, tribute

sigo con el videojuego, al cual titulare seguramente “Medal of honor, tribute “(Medalla de honor, homenaje).

He puesto una ametralladora descargada del Asset Store de unity, y le puesto los disparadores automáticos que comentaba anteriormente en el enlace..

https://videojuegosenlineaasaco4.blogspot.com/p/mi-nuevo-proyecto-con-unity-videojuego.html



He realizado el efecto de parar los disparos al ser colisionados los enemigos, sustituyendo al alemán derribado por uno que muere y ala vez sustituyendo el disparador automático por un gameobject que se borra al pasar unos segundos, para ahorrar memoria y que no se bloque el videojuego.

En el interior de los bunker estoy poniendo enemigos alemanes que me disparan tienen su correspondiente disparador y el mismo efecto de que se borren estos disparadores al ser derribados los enemigos alemanes.


El arma que utiliza el protagonista del videojuego “el americano” en un principio me calentado la cabeza probando hacerle una mirilla de disparos y intentando ponerle un efecto raycast, pero lo e dejado de lado porque son temas nuevos que de estudiar y practicar y voy a ir a trabajarme lo que se hacer, no sera maravilloso pero podre hacer un juego al menos, así que simplemente a las balas que salen del arma les e puesto un Trail Renderer que hace un efecto de trayectoria del disparo y hace también de mirilla, como BALAS TRAZADORAS.


También voy hacer que los enemigos se muevan de un lado hacia otro y a su vez me disparen a mi… de momento estoy utilizando un par de scripts que pongo por si los queresis utilizar.

Uno sirve para que el enemigo baya al punto cualquier punto del terreno de juego...el enemigo a de tener este script



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

public class muebeapuntoenconcreto : MonoBehaviour {


public Transform target;
public float speed;


// Use this for initialization
void Start () {

}

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

float step = speed * Time.deltaTime;
transform.position = Vector3.MoveTowards(transform.position, target.position, step);


}
}


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

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

para que constantemente baya de un lado para otro e añadido un script mas, el siguiente…….



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


public class cambiacordenadasalcolisionarportac2 : 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 == "punto") {
//Destroy (gameObject, 2.0f);

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





}
}
}


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

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



Entonces e puesto un cubo y le nombrado con el tag de “punto”…..

Estos 2 scripts se los pongo al padre de enemigo alemán un cubo el enemigo lo va siguiendo hace de hijo……



Y al colisionar buelbe a empezar a moverse el enemigo así constantemente asta que lo derribamos, este a su vez va disparando y ya no es un enemigo estático que era lo que quería evitar, si son estáticos son mas fáciles de derribar y el juego es mas aburrido,,,,,,




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


public class cambiacordenadasalcolisionarportac3 : 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 == "punto") {
//Destroy (gameObject, 2.0f);

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





}
}
}


-------

 

 


 

 

 

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

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

-------------------------------------------------------------------------------------------------------para que valla a diferentes coordenadas e de hacer nuevos scripts por ejemplo...

cambiacordenadasalcolisionarportac3

cambiacordenadasalcolisionarportac4

cambiacordenadasalcolisionarportac5

cambiacordenadasalcolisionarportac6

y cambiar solamente estas cantidades en estas luineas del script


transform.position = new Vector3 (211.301f, 0.316f, 258.023f);


transform.position = new Vector3 (125.301f, 0.316f, 144.023f);/////////


transform.position = new Vector3 (255.301f, 0.316f, 200.023f);/////////


Se que no es exactamente la mejor forma de solucionar el desarrollo de mi idea pero almenos es una solución y si da el pego pues hay la estoy poniendo.


(continuara……...)



No hay comentarios:

Publicar un comentario