예제 #1
0
    /************************************************************************************************************************Funcion "Start"************************************************************************************************************************/
    void Start()
    {
        S_Hero speedHero = new S_Hero();                                                                                                                    //Instancio la clase "S_Hero".

        heroStruct_H.positionHero = gameObject.transform.position;                                                                                          //Accedo a la estructura "heroStruct" y luego a la variable "positionHero" y digo que será igual a la posicion del "gameObject" que contiene este script.
        heroStruct_H.dialogue     = GameObject.FindGameObjectWithTag("Dialogue").GetComponent <Text>();                                                     //A la variable de tipo texto "dialogue" que está dentro de la estructura le asigno el componente "text" del "GameObject" que tenga el tag "Dialogue".

        gameObject.name = "Hero";                                                                                                                           //Al objeto que contiene este script le doy el nombre de "Hero" para que aparezca en la jerarquía con ese nombre.
        gameObject.tag  = "Player";                                                                                                                         //Al objeto que contiene este script le doy el tag de "Hero".

        heroStruct_H.rb = GetComponent <Rigidbody>();                                                                                                       //A la variable "rb" de la estructura le doy el componente "RigidBoy".
        gameObject.GetComponent <Renderer>().material.color = Color.black;                                                                                  //Le doy un color al personaje, un simple cambio visual.
        heroStruct_H.rb.constraints         = RigidbodyConstraints.FreezeRotation;                                                                          //A la variable "rb" de la estructura le digo que acceda a los "Constraints" y ponga verdadero todo el "FreezeRotation" en el inspector.
        heroStruct_H.cam                    = GameObject.FindGameObjectWithTag("MainCamera");                                                               //A la variable "cam" de la estructura almaceno el "gameObject" que tenga el tag de "MainCamera", es decir que se guardará la cámara principal de la escena.
        heroStruct_H.cam.transform.position = new Vector3(heroStruct_H.positionHero.x, heroStruct_H.positionHero.y + 1, heroStruct_H.positionHero.z - 2);   //Ahora a la variable "cam" le doy una posición en la escena, la cual va a ser igual que a la del personaje o "Hero" pero se le suma 1 a "y" para que este un poco más alta y simule la cabeza.
        heroStruct_H.cam.transform.SetParent(gameObject.transform);                                                                                         //Ahora a la variable "cam" la emparento al objeto que tenga este script, es decir al "Hero", para que a donde se mueva el objeto, también se mueva la cámara.
        gameObject.AddComponent <FPSMove>().speed = speedHero.speed_Hero;                                                                                   //Al personaje le agrego el componente "FPSMove" y le digo que la variable "speed" de dicha clase será igual a "speed_Hero" que esta en la clase "S_Hero".
        heroStruct_H.cam.AddComponent <FPSAim>();                                                                                                           //A la cámara le añado el componente "FPSAim".
    }
예제 #2
0
    /************************************************************************************************************************Funcion "Start"***************************************************************************************************************************/
    /// <summary>
    /// En esta función se hacen varias cosas, primero instancio una clase con constructor, luego
    /// lleno una variable con la posición del héroe, le asigno un valor a la variable que maneja el
    /// "Slider" de UI, le doy un Tag y un nombre al héroe, se le da color también, guardo el componente
    /// "Rigidbody" para congelar las rotaciones, entre otras cosas más.
    /// </summary>
    void Start()
    {
        S_Hero speedHero = new S_Hero();

        heroStruct_H.positionHero = gameObject.transform.position;
        heroStruct_H.health.value = 100;

        gameObject.name = "Hero";
        gameObject.tag  = "Player";

        gameObject.GetComponent <Renderer>().material.color = Color.black;

        heroStruct_H.rb             = GetComponent <Rigidbody>();
        heroStruct_H.rb.constraints = RigidbodyConstraints.FreezeRotation;

        heroStruct_H.cam.transform.position = new Vector3(heroStruct_H.positionHero.x, heroStruct_H.positionHero.y + 1.5f, heroStruct_H.positionHero.z - 2);
        heroStruct_H.cam.transform.SetParent(gameObject.transform);

        gameObject.AddComponent <FPSMove>().speed = speedHero.speed_Hero;
        heroStruct_H.cam.AddComponent <FPSAim>();

        GunInstance();
        AmmunitionAndHealth();
    }