Esta serie de ayudas están diseñada para una introducción rápida a la programación en C++ usando Unreal. Introducirá brevemente la mayoría de las características del lenguaje, pero desde la perspectiva del uso dentro de Unreal en lugar de casos de uso general, y con suerte, será más interesante aprender de él. Escribiré asumiendo que ya tienes Unreal y tienes una comprensión básica del programa.
¿Cómo empezar? Necesitará el motor Unreal Engine 4.
¿Quieres saber cómo aprender rápidamente la programación de videojuegos?
Solo haz juegos.
Aquí hay algunos consejos para ayudarlo en el camino:
1. No reinventar la rueda, use las herramientas incorporadas del motor Al trabajar en cualquier motor, como Unity o Unreal Engine, algunos desarrolladores, principalmente provenientes de un campo de ciencias de la computación, pueden tener tendencia a inclinarse y comenzar a trabajar en algoritmos o estructuras enormes sin saber si ya existen en el motor.
Los Objetos Scriptables son un tipo especial de objeto de datos en Unity. Tienen varios beneficios importantes, pero es posible que no funcionen de manera ideal para cada situación. En esta lección, cubriremos lo que son y cómo usarlos.
GitHub
Gitlab
Introducción a los Objetos Scriptables Puede pensar en un objeto programable como un objeto destinado solo a contener datos. Si ha estado utilizando clases o estructuras tradicionales de C# para objetos simples solo de datos, podría utilizarlas en su lugar.
Las estructuras son como Clases, pero completamente diferentes. Si no sabe qué es una estructura o cuándo la usaría, o si no conoce la diferencia entre pasar por referencia y pasar por valor, esta lección es para usted.
GitHub
Gitlab
Structs en Unidad Dado que esta serie se basa en aprender C# para Unity, comencemos por señalar algunos lugares donde es posible que ya haya estado utilizando Structs:
Vector2, Vector3 and Vector4 Rect Color y Color32 Bounds Touch En particular, las diversas formas de Vector (2-4) se utilizan en todas partes.
Mencionamos brevemente los enums en nuestra última lección, por lo que sentí que ahora sería un buen momento para tratarla en mayor profundidad. Al mismo tiempo, podemos ampliar el tema e introducir Flags (máscaras de bits). Algo de esto se profundiza en el lado nerd de la programación, pero intentaré que todo sea fácil de entender.
GitHub
Gitlab
El tipo “Enum” Primero introduje la enumeración en la lección anterior con la configuración de “Difficulties”:
Supongamos que estás haciendo un juego “completo”. Quieres una pantalla de título y todo. Su usuario puede seleccionar el número de jugadores o una configuración de dificultad, etc., y luego … ¿cómo pasa la información a la siguiente escena? O, lo que es más importante (y algo truculento) ¿cómo se puede guardar una sesión de juego y volver a cargarla más tarde? mostraré algunas de las opciones que me gustan.
Ya sea que lo recuerdes o no, has estado creando clases todo el tiempo en las lecciones anteriores. He comentado brevemente varias características de clases como herencia y constructores, pero hay mucho más por cubrir. En esta lección, nos enfocaremos en esos temas con mayor profundidad e introduciremos algunos temas más avanzados como polimorfismo, constructores estáticos, clases abstractas y clases estáticas.
GitHub
Gitlab
Herencia La herencia es el concepto de que una clase toma todas las funcionalidades de una clase “padre” o “base” al mismo tiempo que brinda la oportunidad de ampliar o modificar la lógica previamente disponible.
Una corrutina es una forma especial de hacer que la lógica suceda con el tiempo. Debo admitir que nunca usé corrutinas hasta Unity, había estado usando programación basada en eventos en cualquier otro escenario comparable. Sin embargo, corrutinas son una alternativa rápida y fácil que definitivamente vale la pena ver. En esta lección, mostraré cómo funciona Unity con corrutinas, incluidas varias formas de ceder el control e incluso vincular corrutinas para tener un control total sobre la lógica basada en el tiempo.
Los genéricos proporcionan una forma de hacer una especie de “plantilla” de su código que funciona de la misma manera en una variedad de tipos de datos diferentes. Si bien podría considerarse un tema más avanzado, existen algunos beneficios importantes al usarlos desde el principio. En esta lección, presentaré listas genéricas y diccionarios, y mostraré cómo se usan los genéricos para funcionalidades específicas de Unity, como obtener componentes y cargar recursos.
Como programador, con frecuencia trabajará con un “grupo” de datos (como una matriz o array que presenté en la lección anterior). Tic Tac Toe, por ejemplo, tiene un tablero de 3 × 3 con nueve celdas totales. Si estuviera creando un método para operar en ese grupo de datos, como limpiar un tablero para un nuevo juego, no querría tener que aplicar manualmente los cambios a todos y cada uno de los valores de la matriz.