Curso de Unity 3D | Introducción a C#

Curso de Unity 3D

3.  
11.  
14.  
15.  
34.  

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

A continuación tienes tienes una explicación algo superficial sobre los conceptos de C# que necesitarás para poder programar videojuegos con Unity 3D. Es altamente recomendable que este no sea tu primer contacto con el mundo de la programación, no obstantante debería ser suficiente para digerir los códigos que vendrán en las siguientes lecciones.

  1. Panel de proyecto → Click derecho → Create → Script de C#
  2. Panel de jerarquía → Click derecho → Crate → Empty llamado «EscenaManagement»
  3. Asociamos el script creado al empty creado

Editor

Si estamos usando windows, lo normal es usar el visual studio. Pero si usamos linux, podemos usar el mono develop. Para vincular el monodevelop a unity3d usaremos: Edit → Preferences → External Tools → monodevelop

Hola Mundo

public class HolaMundo : MonoBehaviour {
	
	void Start () {
		Debug.Log ("Hola Mundo");
	}

}

Debug.Log vs print

Ambos métodos sirven para mostrar trazas de información en la consola de Unity.

El método print es un envoltorio de la llamada al método Debug.Log, por tanto, ambas instrucciones hacen exactamente lo mismo. Sin embargo, como la instrucción print es más corta, esta será la que use para programar.

Ver Video

Variables

Declaración

public class Variables : MonoBehaviour {

void Start () {
	string textoInicio = "Hola Mundo!";
	Debug.Log (textoInicio);
}

}

Tipos de variables

public class TiposVariables : MonoBehaviour {
	
	void Start () {
		int numeroEntero = 1; // 1 2 3 4 5 6 7 8 ...	
		float numeroDecimal = 1.2f; //1.1f  1.2f  1.33f  ...	
		string texto = "El texto"; // "Van siempre entre comillas"	
		bool variableBooleana;	// variables típicas de Unity	
		GameObject cubos;				
		Transform miTransform;	
		MeshFilter meshFilter;			
		BoxCollider boxCollider;	
		MeshRenderer meshRender;
	}
}

Si arrastro este script a un GameObject, podré modificar las variables seleccionando el GameObject desde el panel Inspector.

Concatenaciones

public class Concatenaciones : MonoBehaviour {

void Start () {
	string v1 = "Buenos días ";
	string v2 = "Pablo";
	Debug.Log (v1 + v2);
}
}

Operaciones aritméticas

public class OperacionesAritmeticas : MonoBehaviour {

void Start () {
	int a = 6;
	int b = 8;
	Debug.Log (a + b + "suma");
	Debug.Log (a - b + "resta");
	Debug.Log (a / b + "division");
	Debug.Log (a * b + "multiplicacion");
	Debug.Log (a % b + "resto");
	Debug.Log (++a + "incremento");
	Debug.Log (--a + "decremento");
}

}

Condicionales

public class Condicionales : MonoBehaviour {

void Start () {
	int velocidadCoche = 0;	
	if(velocidadCoche > 40){
		Debug.Log ("Vas muy rápido");	
	}else if(velocidadCoche < 38){
		Debug.Log ("Vas muy lento");
	}else{
		Debug.Log (velocidadCoche);
	}
}
}

Ejercicio condicionales

Dada una variable de tipo entero que contiene la nota de un examen que va de 0 a 10…

  • Si es mayor que cinco mostrar el texto «Aprobado».
  • Si es igual a cinco, mostrar el texto «Aprobado por los pelos»
  • Si es menor que cinco, mostrar el texto «Suspenso».

Ejemplos de condicionales:

a > b
a < b
a >= b
a <= b
a == b
a != b
a > b && a > 3
a > b || a > 3
Ver Video

Hacer la evaluación de la variable dentro del método Start.

Arrays

No es posible cambiar dinámicamente su tamaño.

public class Arrays : MonoBehaviour {

	string [] letras = new string[]{"a", "b", "c", "d", "e"};

	void Start () {
		Debug.Log (letras [2]);
	}
}

Listas

Es posible cambiar dinámicamente su tamaño.

Ejemplo de creación de una lista de enteros
List<int> numeros = new List<int>(new int[]{ 1,2,3});
Eliminamos el segundo elemento de la lista
numeros.RemoveAt(2);

Bucles

Bucle for

public class Bucles : MonoBehaviour {

public int [] numeros = new int[6]{0, 1, 2, 3, 4, 5};

void Start () {
	for (int i = 0; i < numeros.Length; i++) {
		Debug.Log (numeros[i]);
	} 
}
}

Bucle foreach

public class BucleForeach : MonoBehaviour {

string[] animales = { "perro", "gato", "elefante" };

void Start () {
	foreach(string animal in animales){
		Debug.Log(animal);
	}	
}
}

Bucle doWhile

public class BucleDoWhile : MonoBehaviour {

string[] animales = { "perro", "gato", "elefante" };

void Start () {
	int i = 0;
	do{
		Debug.Log(animales[i]);
		i++;
	}while(i < animales.Length );		
}	
}

Funciones

public class Funciones : MonoBehaviour {

void Start () {
	Saludar ();
}

void Saludar(){
	Debug.Log ("hola");
}
}

Función con parámetros

public class FuncionConParametros : MonoBehaviour {

void Start () {
	Saludar ("Juan");
}

void Saludar (string nombre) {
	Debug.Log ("hola " + nombre);
}
}

Función con parámetros y return

public class FuncionConReturn : MonoBehaviour {

void Start () {
	string saludo = Saludar ("Juan");
	Debug.Log (saludo);
}

string Saludar (string nombre) {
	string txt = "hola " + nombre;
	return txt;
}
}

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.