Marc Lidon Mañas

Unity 3D


Скачать книгу

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 Кошелек, бонусными картами или другим удобным Вам способом.

/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QQIaHR0cDov L25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENl aGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4 OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6 NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5 OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHht bG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0i aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1w PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3Jn L2RjL2VsZW1lbnRzLzEuMS8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0idXVpZDo1RDIwODky NDkzQkZEQjExOTE0QTg1OTBEMzE1MDhDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3RDRG REUzQjk0MDkxMUU5OTU2NTlGMDM5MURERDAyRSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3 RDRGREUzQTk0MDkxMUU5OTU2NTlGMDM5MURERDAyRSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBJ bGx1c3RyYXRvciBDQyAyMDE1IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVm Omluc3RhbmNlSUQ9InhtcC5paWQ6NzI2RTc5OTNGMzFDMTFFODkwOUE5RjU4REJEQTNFMDkiIHN0 UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzI2RTc5OTRGMzFDMTFFODkwOUE5RjU4REJEQTNFMDki Lz4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5Vbml0 eTNELXBvcnRhZGEgZmluYWw8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRpdGxlPiA8L3JkZjpE ZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/t AEhQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAADxwBWgADGyVHHAIAAAIAAgA4QklNBCUAAAAAABD8 4R+JyLfJeC80YjQHWHfr/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggL DAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhUR FRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgM HAjDAwERAAIRAQMRAf/EANkAAQEBAAIDAQEAAAAAAAAAAAABAgUGAwQHCAkBAQEBAAMBAQEAAAAA AAAAAAABAgMEBQYHCBAAAgECBQIEAwQGBQgHBAAXAAECEQMhMRIEBUEGUWEiB3EyE4GRQgihscFS IxTRYnIzFfDhgpKyJDQWQ1NzdDUXN/GiYyU2wr