Tambien tengo recursos gratuitos para el Curso en el Blog
Es importante mencionar, que el curso tambien tiene el formato en libro con el 100% del contenido del mismo, es decir, el curso es equivalente al libro.
Con Flame y Flutter, podemos realizar juegos en 2D enfocadas al ámbito móvil, escritorio o web; tal cual vimos en el curso/libro sobre "Primeros pasos con Flame con Flutter" podemos crear todo tipo de juegos en 2D usando sprite, colisiones, eventos de tap, teclado, Drag entre otros y un sistema de cámaras, por nombrar algunas características importantes; con Forge2D y Flame, podemos realizar todo lo anterior pero empleando un motor de física en 2D, para implementar saltos de una manera más sencillas, choques entre cuerpos, simulaciones, son algunos ejemplos de lo que podemos lograr.
Con Flame y Flutter, podemos realizar juegos en 2D enfocadas al ámbito móvil, escritorio o web; tal cual vimos en el curso/libro sobre "Primeros pasos con Flame con Flutter" podemos crear todo tipo de juegos en 2D usando sprite, colisiones, eventos de tap, teclado, Drag entre otros y un sistema de cámaras, por nombrar algunas características importantes; con Forge2D y Flame, podemos realizar todo lo anterior pero empleando un motor de física en 2D, para implementar saltos de una manera más sencillas, choques entre cuerpos, simulaciones, son algunos ejemplos de lo que podemos lograr.
Con Forge2D tenemos cuerpos, que vienen siendo los componentes de Flame para crear componentes, pero a los cuales se les puede aplicar físicas como gravedad, colisiones, peso, fricción, rebote, entre otros, por lo tanto, con estas características, podemos crear fascinantes juegos al mejor estilo de Angry Birds o similares.
Este curso es mayoritariamente práctico, iremos conociendo los fundamentos de Forge2D en base a pequeños ejemplos hasta lograr conocer lo suficiente de la librería para crear un juego en 2D con sistemas de físicas sencillas.
Esta guía está dirigida a cualquier persona que quiera aprender a desarrollar en Flame con Forge 2D y conocer y aprender cómo trabajar con el motor de física para nuestros juegos.
Este curso es la segunda parte del curso/libro de Flutter y Flame
Por aquí tienes el listado completo de clases que vamos a cubrir en el libro y curso:
Crear un proyecto en Flutter y agregar Flame y Forge 2D.
Vamos a conocer sobre esta tecnología.
Conoceremos cómo configurar la clase principal en Flame con Forge 2D.
Vamos a conocer el uso del mundo y las cámaras.
Vamos a conocer el concepto de cuerpo en el mundo de física.
Vamos a conocer las características de los cuerpos.
Vamos a conocer las formas que tenemos para aplicar movimientos a un cuerpo.
Vamos a hablar sobre los 3 tipos de cuerpos.
Vamos a hablar sobre las colisiones sobre los cuerpos.
Vamos a hablar sobre un cambio al momento de definir el mundo y la cámara.
Vamos a presentar un esquema para crear el mundo y la cámara.
Vamos a presentar un esquema para crear el mundo y la cámara.
Vamos a crear un cuerpo de forma circular.
Explicaremos el uso del zoom y gravedad.
Vamos a conocer como convertir coordenadas de pantalla al mundo y su propósito.
Vamos a crear el piso para nuestro experimento.
Crearemos un ejercicio para conocer cómo funciona la restitution.
Vamos a inclinar el piso y evaluar el resultado.
Vamos a dibujar un cuadrado o caja.
Vamos a conocer el uso de la fricción.
Conoceremos cómo aplicar movimiento a un cuerpo mediante el evento tap.
Hablaremos sobre lo creado hasta este punto.
Presentamos el uso de los cuerpos kinematic aplicando una fuerza sobre el mismo.
Creamos un cuerpo kinematic o estático y aplicamos desplazamiento horizontal.
Vamos a dibujar un sprite dentro de un body.
Vas a dibujar un sprite de pelota dentro de un body.
Crearemos un ejemplo en el cual usaremos un sprite animado.
Vamos a crear unas paredes en base al espacio visible de la cámara.
Vamos a presentar el uso de las colisiones/contactos entre cuerpos.
Agregar una caja o pelota de manera aleatoria
Vamos a manejar los contactos entre cuerpos.
Vamos a crear una clase base para los cuerpos.
Vamos a mostrar una animación de explosion al momento del contacto.
Vamos a conocer como aplicar filtros en los contactos.
Vamos a crear la clase principal.
Crearemos el piso.
Creamos la clase a implementar que mantiene las propiedades para las animaciones entre otras.
Definimos el sprite animation para el player.
Vamos a crear el cuerpo del player.
Vamos a colocar los eventos para mover al player en el eje de las X.
Vamos a implementar la funcionalidad de salto para el player.
Vamos a implementar el estado de fall.
Vamos a evitar que el player caiga lentamente cuando salta y nos desplazamos en el aire.
Vamos a evitar colocar la animación de caminando en el aire.
Implementamos el salto doble para el player.
Vamos a implementar la función de impulso.
Vamos a realizar la configuración inicial para usar los tiles set.
Vamos a definir el tamaño de los tiles de manera correcta.
Vamos a evitar que el player rote.
Vamos a implementar el follow de la cámara.
Vamos a conocer como resolver el problema de renderización de los bodies de los tiles.
Vamos a migrar del cuerpo de una caja a una línea.
Vamos a presentar los ContactFilter.
Vamos a permitir el one way collision al momento de hacer el salto.
Vamos a variar algunas opciones de densidad, fricción y rebote.
Vamos a crear el cuerpo base del main y el player.
Vamos a implementar la lógica para agregar al player mediante el evento tap.
Vamos a hablar sobre la implementación a realizar en las siguientes clases.
Vamos a implementar el evento drag update y cambiar la posición del player.
Vamos a implementar la función de onDragEnd y el cambio de cuerpo.
Vamos a colocar el impulso al ave.
Vamos a explicar cómo podemos evitar que el ave pueda moverse libremente por la pantalla calculando la magnitud.
Vamos a implementar el cálculo para limitar el movimiento del player.
Vamos a permitir variar el ángulo de la posición del player al momento de salir de rango.
Vamos a usar la función de length2 que evita el cálculo de la raíz cuadrada.
Vamos a remover al player del juego pasado un tiempo una vez lanzada.
Vamos a asignar un sprite animado al cuerpo.
Vamos a preparar las paredes o límites para el juego.
Vamos a crear el cuerpo y sprite para la caja.
Vamos a crear la estructura para crear varias cajas por nivel.
Vamos a agregar las cajas por nivel desde el main.
Vamos a detectar cuando todas las cajas fueron agregadas desde el main.
Vamos a detectar cuando la caja fue posicionada en el mundo desde el componente.
Vamos a obtener un listado de instancias de las cajas desde el main.
Vamos a detectar cuando todas las capas están posicionadas en el mundo, es decir, sin moverse o velocidad lineal aplicadas.
Vamos a bloquear el ave hasta que las cajas estén en reposo.
Vamos a buscar el impacto más grande por cajas.
Vamos a destruir las cajas cuando se alcance una cota máxima.
Vamos a crear la clase principal.
Vamos a implementar el cuerpo de la pelota.
Vamos a implementar el cuerpo de la barra o brazo.
Vamos a realizar las primeras pruebas para mover el brazo 90 grados.
Vamos a implementar el retorno de la barra.
Vamos a cambiar las transformaciones geométricas a velocidad angular para poder aplicar velocidades a los cuerpos golpeados.
Vamos a permitir que la barra se pueda mover con un movimiento invertido.
Vamos a agregar los límites en el mundo.
Vamos a inclinar la pared inferior.
Vamos a poder personalizar la posición de la barra.
Vamos a crear las clases para definir los obstáculos.
Vamos a crear la meta.
Vamos a mover la meta de lado a lado.
Vamos a crear la estructura para crear niveles con sus obstáculos.
Vamos a crear otra distribución para el mapa.
Vamos a variar la posición de la barra para que quede en el medio.
Vamos a variar el tamaño de la barra.
Vamos a crear una propiedad para comprobar cuáles paredes son verticales y comprobar en el eje Y.
Vamos a crear una propiedad para invertir la lógica de inclinar la barra.
Vamos a inclinar la barra al contacto con la pelota.
Vamos a crear la clase principal.
Vamos a desplazar la barra horizontalmente mediante el teclado.
Vamos a usar la función de clamp para evitar que la barra salga del espacio visible.
Vamos a dar el impulso o movimiento inicial a la barra.
Vamos a aumentar la velocidad de la pelota al momento del impacto.
Vamos a inclinar levemente las paredes al momento del impacto de la pelota.
Vamos a genera la segunda barra para el segundo jugador.
Vamos a invertir la lógica de la inclinación para la segunda barra.
- Andrés Cruz
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter
Acepto recibir anuncios de interes sobre este Blog.
!Cursos desde!
10$
En Udemy
Quedan 4d 01:53!
!Cursos desde!
4$
En Academia
Ver los cursos!Libros desde!
1$
Ver los libros