‫En esta lección, vamos a crear una clase de C++.
‫Ahora necesitamos una clase que podamos usar para nuestros peones.
‫Ahora digo peones, en plural, porque habrá dos peones diferentes en nuestro juego.
‫Habrá un tanque que usaremos para rodar por el nivel, y habrá una
‫torreta que será nuestro enemigo para que podamos crear una clase de peón base.
‫Y esto va a tener la funcionalidad básica que compartirán tanto el tanque como la torreta.
‫Y de esta manera podemos crear nuestras dos clases secundarias, el tanque y la torreta.
‫Entonces, estos van a heredar cualidades de la clase de peones base y estas son cosas que
‫ambos peones van a compartir, como tener la malla, tener un componente de cápsula y la capacidad de
‫lanzar proyectiles.
‫Ahora, vamos a entrar en todas esas características en videos futuros para este video.
‫Solo vamos a crear la clase C++ y agregarle algunas variables básicas.
‫Esta es nuestra motivación para crear nuestra primera clase de C++.
‫Ahora estamos listos para comenzar a crear algunas clases de C++ para este proyecto.
‫Ahora verá aquí abajo en el navegador de contenido que no hay carpetas para las clases de C++.
‫Esto se debe a que aún no hemos creado ninguna, pero estamos a punto de escribir ahora para poder acceder a las
‫herramientas y seleccionar una nueva clase de C++.
‫Y aquí es donde vamos a elegir la clase padre para la clase que vamos a crear.
‫Y por defecto, aquí tenemos varias opciones para elegir.
‫Esto es algo que deberías haber visto en conferencias anteriores.
‫Así que ahora tenemos algunas decisiones que tomar aquí.
‫Por un lado, ¿qué clase de padres vamos a elegir?
‫Tenemos.
‫El primero es ninguno.
‫Básicamente, eso nos permitiría crear una clase de C++ simple y antigua, pero vamos a necesitar alguna funcionalidad adicional.
‫Por un lado, queremos poder colocar una instancia de este objeto en el mundo.
‫Así que no podemos hacer eso con una clase de C++ simple y antigua.
‫Podríamos hacer eso con un personaje, un peón o un actor, pero ¿cuál de estos es el más apropiado para
‫lo que queremos hacer?
‫Bueno, tenemos que dar un paso atrás y pensar qué es exactamente lo que estamos tratando de crear aquí.
‫Estamos tratando de crear un tanque que podamos controlar y mover por el nivel y disparar proyectiles para que podamos causar
‫daño y todas esas cosas buenas en nuestra carpeta de activos.
‫Solo para recordarnos, tenemos esta carpeta de mallas aquí y tenemos la base del tanque y tenemos la torreta del tanque.
‫Estas son dos mallas diferentes que estarán en nuestra clase.
‫Y entonces necesitamos la capacidad de tener mallas.
‫Entonces, una clase simple de C++ no tiene esa capacidad.
‫Así que pensemos en esto por un segundo.
‫¿Qué clase padre deberíamos usar?
‫Bueno, la primera clase que probablemente debería venir a tu mente es la clase de actor.
‫Ahora, la clase de actor tiene la capacidad de ubicarse en el mundo.
‫Así que es un gran comienzo.
‫También tiene la capacidad de tener una representación visual.
‫Ya sea una malla o cualquier otra cosa, en realidad se puede ver una vez que lo colocas en el mundo, siempre
‫que le des una malla o lo que sea que quieras ver.
‫Ahora derivado de actor, tenemos la clase -- y el -- hereda todas esas cualidades
‫de la clase actor, excepto que tiene cualidades adicionales como la capacidad de ser poseído por un controlador.
‫Ahora, todo este asunto de la posesión es algo que entrará en más detalles más adelante, pero por
‫ahora, solo entienda que esto significa que un jugador puede controlarlo.
‫Entonces, si está presionando un botón del mouse o una tecla del teclado, esto se puede configurar y configurar para que
‫podamos mover el -- alrededor.
‫Esto suena como algo que definitivamente querríamos para nuestro tanque.
‫Entonces, al manejar la entrada de movimiento, -- suena como una opción bastante buena ahora derivada de la clase --
‫y por lo tanto hereda todas las cosas que -- tiene, además de todas las cosas que -- heredó
‫de su clase principal.
‫Tenemos la clase de personaje que tiene algunas cosas específicas del personaje.
‫Por ejemplo, tiene algo llamado componente de movimiento del personaje.
‫Ahora, un -- no tiene esto.
‫Un componente de movimiento del personaje le da al personaje habilidades adicionales, como diferentes modos
‫de movimiento, como volar, nadar, agacharse y otras cosas específicas de los personajes.
‫La clase de personaje es buena para personajes bípedos y no va a funcionar muy bien para personajes no
‫bípedos que no son criaturas con dos piernas.
‫Y aunque sería genial tener un tanque volando por el nivel y lanzando bombas sobre todo
‫lo que ve, no vamos a hacer nada tan complicado en esta sección.
‫Solo vamos a hacer un tanque que pueda rodar.
‫Así que realmente no necesitamos un componente de movimiento de personajes ni ninguna de esas cosas específicas de personajes especiales.
‫Entonces, para esto, creo que es perfecto para lo que estamos tratando de lograr.
‫Así que voy a desafiarte a crear una nueva clase de C++, crear una clase basada en -- y nombrar esta
‫nueva clase basada en --.
‫Ahora puede dejar todas las configuraciones como están.
‫En el asistente de creación de clases.
‫No necesita cambiar la ruta del archivo ni nada por el estilo, así que pause el video y cree
‫su primera clase de C++ para este proyecto.
‫Así que de vuelta aquí en el nivel.
‫Así que vayamos a las herramientas y creemos una nueva clase de C++.
‫Todavía no he creado la clase C++.
‫Acabo de cerrar esto para volver a esa diapositiva.
‫Pero ahora que regresé, estoy listo para crear mi primera clase de C++ para este proyecto y voy a elegir, y
‫lo verá cada vez que pase el mouse sobre estos.
‫Probablemente hayas visto esto antes.
‫Recibimos una información sobre herramientas que aparece y dice: es la clase base de todos los actores que pueden ser poseídos por
‫los jugadores.
‫O sé que suena bastante emocionante, pero vamos a configurar esto para que se pueda mover con la entrada de un
‫jugador.
‫Así que esto es perfecto.
‫Continúa diciendo que son las representaciones físicas de jugadores y criaturas en un nivel.
‫En otras palabras, una vez que creemos este tanque, nos representará como jugadores en el mundo.
‫Muy genial.
‫Así que seleccione y haga clic en siguiente y nos muestra la ruta donde va a incluir esta clase en nuestro proyecto y verá
‫que está en los tanques de sintonía de barra de origen.
‫Ahora vamos a querer nombrar nuestro nuevo -- porque mi -- es un nombre horrendo y es muy vago.
‫Necesitamos algo un poco más específico ahora.
‫Vamos a planear usar esto como una clase base, lo que significa que vamos a derivar clases de esta
‫clase para que podamos llamar a esta base --.
‫Ahora, sé que eso no es mucho mejor que mi --, pero bueno, nos dice que esto es una base --.
‫Esto es algo de lo que vamos a derivar clases secundarias en el futuro.
‫Llegaremos a eso.
‫Pero por ahora, llamaremos a esta base y haremos clic en Crear clase.
‫Está bien.
‫Entonces, el código de Visual Studio se ha abierto para nosotros con nuestra nueva clase.
‫Nos hemos basado en H y en CP.
‫Ahora podemos cerrar esta barra lateral haciendo clic en el ícono del Explorador allí, y podemos echar un vistazo a lo que el código
‫de V ha generado para nosotros.
‫Entonces, de manera predeterminada, obtenemos el constructor de clases, así como tres funciones: comenzar, reproducir, marcar y configurar el componente
‫de entrada del jugador.
‫Ahora debería estar familiarizado con Begin, Play y marque los comentarios aquí.
‫Explique lo que hacen.
‫Configurar el componente de entrada del jugador es algo que obtiene el peón y esta función nos permite manejar la
‫entrada, como desde una tecla del teclado o un clic del mouse y aprenderemos más sobre cómo funciona esto en
‫futuros videos en banda base.
‫CP Estas funciones están definidas para nosotros, pero son bastante básicas y tampoco cambiarán eso en
‫videos futuros.
‫Así que en este video creamos nuestra primera clase de C++ y el próximo video discutirá los componentes y por qué nos
‫gustaría agregar algunos a nuestra nueva clase.
‫Te veré pronto.