No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

0D
15H
13M
38S
Curso de Introducci贸n a Unity: Scripting

Curso de Introducci贸n a Unity: Scripting

Ruth Margarita Garc铆a L贸pez

Ruth Margarita Garc铆a L贸pez

Propiedades p煤blicas y privadas, [SerializeField], [Header] y [HideInInspector]

5/24
Recursos

Aportes 3

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

OPAAA, los objetos serializables son lo que estaba buscando, trato de hacer un juego de rol con unos amigos, y creo que eso nos puede ser muy util, gracias profe ruth

La 煤ltima parte se vio complicada, m谩s cuando quise hacer el experimento creando un nuevo script y me sali贸 una cantidad de errores de compilaci贸n XD鈥 Un poco se parece a la declaraci贸n de variables como objetos de lo que vi en Javascript, pero eso debo revisar mejor鈥

Propiedades p煤blicas y privadas, [SerializeField], [Header] y [HideInInspector]

Al crear un juego, la mayor parte del tiempo vamos a estar configurando cosas, en lo que destacaran el uso de las variables p煤blicas y privadas y los atributos.

Variable p煤blicas

- Van al principio de la clase

Son un poco claustrof贸bicas鈥

- No van a entrar a ning煤n m茅todo, (pero siguen dentro de la clase).
- Se ven en el Inspector
<h5>Por qu茅 usarlas?</h5>
  • Son importantes en la interacci贸n con otros Objs. ya que otros scripts/componentes las pueden ver y modificar.

Variables privadas y protegidas

- No pueden ser vistas (ni modificadas) por otras clases.
- No se ven en el Inspector, a menos que est茅n decoradas por

Atributos

鈥渟uerte de cartelito que escribimos arriba de una variable, aplic谩ndole distintos efectos鈥

- [SerializeField]

	鈼 La variable se muestra en el Inspector, a煤n si es privada.

- [HideInInspector]

	鈼 La variable no se muestra en el Inspector.

- [Range(n,m)]

	鈼 El editor nos aplica un slider, desde un valor inicial a un valor final, para modificar la variable.

- [TextArea]

	- Ampliaci贸n de un cuadro de texto ("string") para escribir c贸digo o l铆neas de texto largas.

- [Header(鈥渢itle鈥)] & [Space (px)]

	- Aplicaci贸n de t铆tulos y espacios en el c贸digo para maximizar legibilidad en editor.

- [Tooltip(鈥渢ext鈥)]

	- Nos permite dejar un texto (tip) que brotar谩 en un cuadro al dejar el cursor sobre la variable decorada.

A escribirrr

<h5>- Sintaxis para declarar variables aplicadas al inspector:</h5>
		_modificadorDeAcceso + tipoDeDato + nombre;_

O sea:

		public bool Checkbox

Nota: sin un modif. de acceso, la variable no aparecer谩 en el inspector.

Uso de arrays

Si quiero declarar una variable a la que pueda ir a帽adiendo o quitando valores de forma din谩mica y ordenada; por ejemplo para llevar el control de los amigos que gana y pierde un personaje
Me puedo valer de un array, cuya sintaxis en Unity (C#) requiere especificar *esto es un array y este es el tipo de dato que almacenaremos dentro, lo cual se expresa como:

	public string [] amigo;
<h5>驴Y qu茅 pasa si queremos almacenar m谩s informaci贸n referida a estos amigos (regalos recibidos, por ejemplo)?</h5>
X Crear otro array simplemente no es una buena soluci贸n, ya que no estar谩n conectados entre s铆.
  • Para esto se recomienda

    Englobar las propiedades en una Clase nueva

    • agregando la directiva de UnityEngine para poder usar el objeto GameObject en nuestras variables

    • Decorando la clase con [System.Serializable] para que Unity pueda mostrarla en la consola a pesar de no ser un tipo de dato primitivo
      En c贸digo:

        Using UnityEngine;
        
        [System.Serializable]
        Public class Amistad {
        	Public string nombre;
        	Public GameObject[] regalos;
      
    <h5>Luego implementamos nuestra clase Amistad en el script, como tipo de dato para un array.</h5>

    Quedar铆a as铆:

     	using UnityEngine;
     	using System.Collections;
     	using System.Collections.Generic;
     	
     	Public class ExploradorDeVariables : Monobehaviour {
     		Public Amistad[] amistades;
    

    Ahora, desde el Inspector podemos agregar amigos y darles 鈥渞egalos鈥 en forma de GameObjects, (con la posibilidad de arrastrarlos desde la Hierarchy).