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.
- Panel de proyecto → Click derecho → Create → Script de C#
- Panel de jerarquía → Click derecho → Crate → Empty llamado «EscenaManagement»
- 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");
}
void Update () {
Debug.Log ("Adios Mundo");
}
}
Variables
Declaración
public class Variables : MonoBehaviour {
string textoInicio = "Hola Mundo!";
void Start () {
Debug.Log (textoInicio);
}
void Update () {
}
}
Tipos de variables
public class TiposVariables : MonoBehaviour {
public int numeroEntero = 1; // 1 2 3 4 5 6 7 8 ...
public float numeroDecimal = 1.2f; //1.1f 1.2f 1.33f ...
public string texto = "El texto"; // "Van siempre entre comillas"
public bool variableBooleana;
// variables típicas de Unity
public GameObject cubos;
public Transform miTransform;
public MeshFilter meshFilter;
public BoxCollider boxCollider;
public MeshRenderer meshRender;
void Start () {
}
void Update () {
}
}
Si arrastro este script a un GameObject, podré modificar las variables seleccionando el GameObject desde el panel Inspector.
Concatenaciones
public class Concatenaciones : MonoBehaviour {
string v1 = "Buenos días ";
string v2 = "Pablo";
void Start () {
Debug.Log (v1 + v2);
}
}
Operaciones aritméticas
public class OperacionesAritmeticas : MonoBehaviour {
int a = 6;
int b = 8;
void Start () {
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 {
public int velocidadCoche = 0;
void Start () {
}
void Update () {
if(velocidadCoche > 40){
Debug.Log ("Vas muy rápido");
}else if(velocidadCoche < 38){
Debug.Log ("Vas muy lento");
}else{
Debug.Log (velocidadCoche);
}
velocidadCoche++;
}
/*
a > b
a < b
a >= b
a <= b
a == b
a != b
a > b && a > 3
a > b || a > 3
*/
}
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;
}
}