Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - chessjose

#1
General (Antiguo) / Dudas
Agosto 04, 2017, 06:15:30 PM
lo de perderse en el olimpo el problema es que tienes la camara fija y es un 2D lo cual si no ves el enemigo estas muerto... jejeje pero lo dicho lo solucione...
 
lo del singleton es algo que no me quedo muy claro y tengo que volver a echar el ojo otra vez al vídeo del curso. 
 
el juego es un space invader no se donde colocar el manager y como llamarlo a el... ya te digo que tengo que volver a mirar otra vez algunos vídeos para que me quede mas claro, pero supongo que si lo entrego así tal y como lo tengo debería ir bien....
 
después tengo una otra duda que no entiendo tengo dos controladores uno que regula la aparición de enemigos y otra que regula la aparición de asteroides y no se si se puede hacer de alguna manera para que con un solo archivo vaya bien todo, por que ahora me salen solo unas cuantas naves o unos cuantos asteroides y dejan de salir... 
 
de todas formas muchas gracias por las ideas y aclaraciones!! 
#2
General (Antiguo) / Dudas
Agosto 03, 2017, 06:32:09 PM
al final he conseguido ponerlo del  GameOver de la siguiente manera
 
he hecho un canvas en una scena aparte del juego y he pillado el código del enemy y le he puesto una sola linea de código, os dejare el código para que se vea donde la resaltare en negrita para que se distinga.
 


public class EnemyBehaviour : MonoBehaviour {

    //sonido

    public AudioClip hitSound;

    //la vida del enemigo

    public int health = 2;
 


    //esto es la caja para poner el Prefab Explosion que hemos echo

    public Transform explosion;
 


     void OnTriggerEnter2D(Collider2D theCollider)

    {

        //Debug.Log("he colisionado con" + theCollision.gameObject.name);

        if(theCollider.gameObject.name.Contains("Laser"))

        {

            LaserBehaviour laser = theCollider.gameObject.GetComponent("LaserBehaviour")as LaserBehaviour;

            health -= laser.damage;

            Destroy(theCollider.gameObject);

            //sonido

            GetComponent<AudioSource>().PlayOneShot(hitSound);

        }

        if (health <= 0)

        {

            Destroy(this.gameObject);

            GameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent<GameController>();

            controller.KillEnemy();

            controller.IncreaseScore(10);

            if (explosion)

            {

                GameObject exploder = ((Transform)Instantiate(explosion,

                                                  this.transform.position,

                                                  this.transform.rotation)).gameObject;

                Destroy(exploder, 2.0f);

            }

        }
 


        //el enemigo choca contra la nave protagonista
 


      //aqui es donde el player muere....

        if (theCollider.gameObject.name.Contains("playerShip"))

        {

            PlayerBehaviour player = theCollider.gameObject.GetComponent("PlayerBehaviour") as PlayerBehaviour;

          

            Destroy(theCollider.gameObject);
 


          Application.LoadLevel("GameOver");

        }
 


    }
 


    // Update is called once per frame

    void Update () {

        transform.Rotate(new Vector3(0, 0, Time.deltaTime * 90));

    }

}
 
 

#3
General (Antiguo) / Dudas
Agosto 03, 2017, 05:30:01 PM
Gracias por la respuesta!
 
el primer problema se soluciono al rescatar una copia de seguridad que tenia... se quedo tonto el Unity jajaja
 
el segundo del gameover lo quiero llamarlo desde una scena distinta que es donde tengo gran parte de la interfaz de usuario....
 
muchas Gracias!!!
#4
General (Antiguo) / Dudas
Agosto 03, 2017, 11:17:22 AM
Buenas!
 
tengo diversas dudas!
 
voy a empezar por la que considero que debería ser fácil en resolver el problema.
 
tengo un área de juego y resulta que la nave de mi player puede salir de esa área de juego y perderse en el "olimpo del espacio" mi idea era poner un gameObject con un cubo dentro y ponerle collaiders 2D  y un Rigidbody y resulta que la nave los atraviesa quisiera que chocaran con el para frenarlo y que no recibiera daño por golpearse con el.
 
la segunda parte de mi duda es que quiero hacerle un GameOver, la cosa es que mi personaje no tiene vidas es decir cuando el enemigo le da muere o se acaba el juego como prefiráis llamarlo y no se donde he de colocar el código si queréis os paso un par de imágenes del código, aparte de que salga el mensaje quiero que tenga dos botones uno para salir del juego y otro para que pueda hacer reiniciar el juego . 
 
el código del enemy:
 
using System.Collections;

using System.Collections.Generic;

using UnityEngine;
 
public class EnemyBehaviour : MonoBehaviour {

    //sonido

    public AudioClip hitSound;

    //la vida del enemigo

    public int health = 2;
 
    //esto es la caja para poner el Prefab Explosion que hemos echo

    public Transform explosion;
 
     void OnTriggerEnter2D(Collider2D theCollider)

    {

        //Debug.Log("he colisionado con" + theCollision.gameObject.name);

        if(theCollider.gameObject.name.Contains("Laser"))

        {

            LaserBehaviour laser = theCollider.gameObject.GetComponent("LaserBehaviour")as LaserBehaviour;

            health -= laser.damage;

            Destroy(theCollider.gameObject);

            //sonido

            GetComponent<AudioSource>().PlayOneShot(hitSound);

        }

        if (health <= 0)

        {

            Destroy(this.gameObject);

            GameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent<GameController>();

            controller.KillEnemy();

            controller.IncreaseScore(10);

            if (explosion)

            {

                GameObject exploder = ((Transform)Instantiate(explosion,

                                                  this.transform.position,

                                                  this.transform.rotation)).gameObject;

                Destroy(exploder, 2.0f);

            }

        }
 
        //el enemigo choca contra la nave protagonista
 
      //aqui es donde el player muere....

        if (theCollider.gameObject.name.Contains("playerShip"))

        {

            PlayerBehaviour player = theCollider.gameObject.GetComponent("PlayerBehaviour") as PlayerBehaviour;

          

            Destroy(theCollider.gameObject);

        }
 
    }
 
    // Update is called once per frame

    void Update () {

        transform.Rotate(new Vector3(0, 0, Time.deltaTime * 90));

    }

}
#5
General (Antiguo) / Saludos a todos.
Agosto 01, 2017, 12:31:32 AM
Hola Soy José.
 
soy novato en esto del unity y estoy  en un curso de creación de videojuegos. 
 
 
#6
General (Antiguo) / Problema al compilar el juego
Julio 31, 2017, 05:40:22 PM
No, no me da ningún problema xD. y lo tengo así.
 
 
 
 
 
#7
General (Antiguo) / Problema al compilar el juego
Julio 31, 2017, 05:23:33 PM
ok, pues lo primero pedir disculpas por no haber pensado en ello, 
 
el problema era que me pedía ( ; )  y yo estaba siguiendo el tutorial de mi profesor y lo tenia copiado tanto que para mi era un plagio en toda regla xD  y el no la pone, pero al intentar hacer el .exe me saltaba el error que hay en las imágenes, 
 
solo puse el ; antes de la llave } y listo 
 
eso fue todo 
 
vuelvo a reiterar mis disculpas
#8
General (Antiguo) / Problema al compilar el juego
Julio 31, 2017, 04:35:45 PM
Solucionado.
#9
General (Antiguo) / Problema al compilar el juego
Julio 31, 2017, 03:21:39 PM
Buenas!
 
El problema que me sale no lo entiendo por que la consola me dice donde esta el error y voy a la zona donde esta el error y veo que esta bien y que lo que me dice no hay ni el ;  y encima no falta ya que esta en un cierre de estos }. Como os pongo en las imágenes a ver encontráis el fallo por que yo no... 
 
Todo esto es cuando intento hacer el .exe
 
 
 

 
#10
ostras muchísimas gracias aun hay cosas que no hemos tocado!! y esa es una de ellas!! 
#11
jejej veo que te adelantaste iba a ponerte lo que sabia hacer y lo que quería hacer de manera mas concreta,
 
lo que quiero hacer es un panel donde se muestre los slaiders o botones  y tener la nave abajo para que el jugador vea como se ve...
 
el panel y colocar los laiders como botones se como hacerlo y como juntar lo con el código ahora lo que no se ya que me falta practica es con el código que es como hacer el script.
#12
Cita de: lightbug date=1501364067Hola Jose, bienvenido, con que especificamente queres que te echemos una mano?, porque por como lo planteas queres que te lo resolvamos. Anda descomponiendo tu problemas en partes y asi lo vas a poder resolver, no hagas todo de una.
   


pues la verdad es que prefiero que me deis algunas pistas de como hacerlo.....
 
como bien sabrás la mayoría de los juegos tienen una pantalla de personalización de personaje y nos han pedido que sea con 3 slayers para poder cambiar el color del personaje en este caso seria una nave te pego un vídeo de lo que quiero hacer pero solo con colores que se apliquen a la nave y muchas gracias!! espero que eso sirva XD 
 
para ser exactos en el min 1:32 sale lo que quiero hacer xD
 


   
eature=oembed" width="480">

 
 
#13
soy novato en esto del unity y estoy  en un curso de creación de videojuegos y nos han pedido que hagamos que los players puedan cambiar el color de las naves con 3 slider y la verdad me he pasado un par de días buscando y no se como crearlo ha ver si me podéis echar una mano gracias!