funciones dentro de una clase para que se ejecuten cuando creamos un objeto de esa clase; o, dicho correctamente, se instancia un objeto de esa clase.
En los ejemplos anteriores hemos creado 2 players y ahora en el script infoPlayer vamos a crear el constructor de la clase, que nos va a informar de que se ha creado un nuevo objeto de esta clase.
Script:infoPlayer |
using System.Collections;using System.Collections.Generic;using UnityEngine;[System.Serializable]public class infoPlayer{public string nombre;public int partida;public float tiempo;public bool activo; public infoPlayer(){Debug.Log(“Se ha creado un objeto de la clase infoPlayer”);}public void MuestraInfo(){Debug.Log (“Nombre del jugador: “ + nombre);Debug.Log (“Numero de Partidas: “ + partida);Debug.Log (“Tiempo de juego: “ + tiempo);Debug.Log (“Actividad actual: “ + activo);}} |
Dentro de la clase; debemos crear después de los atributos una función pública con el mismo nombre de la clase dentro ponemos un mensaje. |
A continuación vamos a crear los objetos de la clase infoPlayer.
Script:tablaRecords |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class tablaRecords : MonoBehaviour{public infoPlayer player1 = new infoPlayer();public infoPlayer player2 = new infoPlayer();void Start (){this.player1.nombre = “Paco”;this.player1.partida = 8;this.player1.tiempo = 6.25f;this.player1.activo = true;this.player2.nombre = “Maria”;this.player2.partida = 2;this.player2.tiempo = 4.2f;this.player2.activo = false;this.player1.MuestraInfo();this.player2.MuestraInfo();}} |
Para crear un nuevo objeto diremos que la variable es igual a new seguido del nombre del constructor.Cuando ejecutes el juego en Unity si todo es correcto debe de mostrarte el mensaje que hemos escrito dentro del constructor. |
3# Constructor inicializando valores.
También podemos crear los objetos con valores directamente, esto quiere decir que cuando creamos el player1 ya le podemos poner los valores directamente y evitamos tener que escribir tanto código. Para ello vamos al script de la clase y creamos escribimos lo siguiente:
Script:infoPlayer |
using System.Collections;using System.Collections.Generic;using UnityEngine;[System.Serializable]public class infoPlayer{public string nombre;public int partida;public float tiempo;public bool activo;public infoPlayer(){Debug.Log(“Se ha creado un objeto de la clase infoPlayer”);}public infoPlayer(string n, int p, float t, bool a){this.nombre = n;this.partida = p;this.tiempo = t;this.activo = a;}public void MuestraInfo(){Debug.Log (“Nombre del jugador: “ + nombre);Debug.Log (“Numero de Partidas: “ + partida);Debug.Log (“Tiempo de juego: “ + tiempo);Debug.Log (“Actividad actual: “ + activo);}} |
Ahora tenemos el constructor pero con una serie de argumentos.Dentro del constructor guardamos estos argumentos dentro de las variables que son los atributos que necesitaremos para crear un objeto de esta clase. |
Script:tablaRecords |
using System.Collections;using System.Collections.Generic;using UnityEngine;public class tablaRecords : MonoBehaviour{public infoPlayer player1;public infoPlayer player2;void Start (){this.player1 = new infoPlayer(“Paco”,8,6.25f,true); this.player2 = new infoPlayer(“Maria”,2,4.2f,false);this.player1.MuestraInfo();this.player2.MuestraInfo();}} |
Nuestro script tablaRecords quedará de la siguiente forma, |
Hasta aquí esta pequeña introducción a la programación en C#, no quiero entrar en muchos detalles de programación básica, sino explicarte un poco las reglas del juego. Estas son algunas de las habilidades que debes entender y utilizar a pesar de que te equivoques, porque en los próximos capítulos empezaremos a ver cómo este lenguaje nos permite controlar objetos y que estos interactúen. La estructura que debes comprender cuando hablamos del concepto, (principalmente abstracto), de programación es:
•Dispones de unas variables para almacenar información compleja.
•Puedes realizar operaciones, comparar valores y tomar decisiones con estas variables.
•Puedes automatizar con bucles operaciones que se repiten continuamente.
•Puedes agruparlo todo en una función para utilizarla más adelante.
•Puedes crear tus propias clases que encapsula todo lo anterior.
En el próximo capítulo empezaremos a poner en practica estos conceptos tan abstractos para que empieces a concretar tus objetivos.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.