10.25UEC++/Pequeña prueba de habilidades (el caso del pájaro estúpido que vuela primero)

1. Organizar ideas:

¿Cómo empezar?

Los personajes pueden ser la parte más importante de cada juego, por lo que generalmente puedes comenzar con los personajes primero. Si el juego es muy complejo, puedes dividir el diseño.


Cree un mapa a partir de un plano:

Crea un peón predeterminado:

Escribe el constructor predeterminado de GameMode:

 Establecer el BirdPawn creado como el peón predeterminado


Presentamos el módulo Paper2D: se cargará FlipBook, similar a las imágenes de cuadros continuos;

 Cree una secuencia de FlipBook en UE4:

 Crear animación de vuelo: (tres fotogramas)

 Seleccione un recurso de tipo Sprite (pero cuando se carga la imagen, es un tipo de textura)

 Convertir textura a Sprite:

 Complete la imagen según la velocidad de fotogramas:


Panel de libro animado:

También se puede arrastrar un solo fotograma para ajustar la velocidad de fotogramas:

 

 Para escribir código BirdPawn en UEC++, primero cree el componente raíz (capacidad)

Crear un componente FlipBook

Vincule FlipBook al componente raíz:


Capacidades que se pueden cargar en Ue:

 

Agregar cámara:

 Cargue recursos de animación en UE en FlipBook:

Ajuste la posición de la cámara para que quede perpendicular a la imagen:


Establecer el fondo:

¿Cómo saber qué componentes requiere un recurso?

Arrastre el recurso a la escena y se mostrará el componente:

Crear objeto componente:

 Cree un componente de renderizado y configúrelo como nodo raíz

 Implemente la función de cambio de fondo aleatorio creada:

Llame a la función en BeginPlay:

Análisis: ¿Cuándo empiezas a establecer el contexto? (Cuando el juego se está ejecutando, debes escribir la lógica de fondo de inicialización en GameMode): crea un objeto de clase

Crea un actor de fondo en BeginPlay:

Los resultados de ejecución de UE muestran:

Análisis del motivo por el que no se puede mostrar el fondo: debido al mecanismo de colisión del brazo de la cámara, cuando hay un objeto entre la cámara y el objeto asociado con la cámara, el brazo de la cámara empujará hacia adelante y provocará una colisión, por lo que el Es necesario desactivar la colisión del brazo de la cámara:

Compilar y ejecutar:

 Configuración de fondo aleatoria: Análisis: en primer lugar, debe determinar cuántos fondos hay y crear varios objetos de clase:

 Después de crear el objeto, primero debes cargar los recursos en:

Si están todos vacíos, se informará un error:

 Asigne aleatoriamente un valor al componente raíz de fondo: (establecer fondo) (NUEVO conocimiento: matemáticas, valor aleatorio)


 Configure la cámara en una relación no ortogonal (relación de proyección) (los juegos 2D no producirán espacios visuales debido a la ubicación):

Cambiar el ancho del elenco:


Establecer el terreno (el terreno en movimiento):

 Cree una clase de piso que pueda moverse y necesite cargar recursos; el movimiento es comportamiento y los recursos son atributos: entonces cree un objeto de clase y cree una función de movimiento:

 Inicializar propiedades en el constructor:

Función de definición de comportamiento en movimiento:

Configure tres tableros:

 Inicialice tres tableros:

Inicialice la posición del tablero:

 Si el tablero desaparece de la pantalla, volverá a aparecer más tarde:


Optimización del movimiento del piso de reproducción en bucle:


 Configurar vuelo: análisis (el vuelo es un estado, por lo que se necesitan varios estados; use tipos de enumeración para definir estados)

Defina variables de tipo de enumeración dentro de la clase:   

 Vincular eventos de entrada:

Función de vuelo:

 Función de cambio de estado:

Fuerza de ajuste:


Añadir colisión con el suelo:

Primero cree la función de colisión: (fragmento de código) El proxy dinámico necesita agregar la función UF:

 Vincular colisión física en la función de inicialización:

 Plantilla de lógica de colisión:


Diseñar el pájaro para que levante la cabeza: análisis (vuela hacia arriba, la cabeza se levanta hacia arriba, cae hacia abajo y la cabeza está hacia abajo, por lo que la dirección de la cabeza está relacionada con el desplazamiento del eje x durante el vuelo. Cuando el X El desplazamiento es positivo, el eje z del pájaro gira (basado en la velocidad x)):

Establecer el sonido:

 Tubería de diseño:

Cree una clase de actor y use la administración de matrices:

Establezca el nodo raíz:

Cargar recursos:

 Utilice un bucle for para configurar el nodo, luego vincúlelo al nodo raíz, vincule la recepción recién diseñada al nodo Grupo y establezca la posición del nodo: 


 Lógica de canalización de diseño:

Definir variables:

Durante el juego:

Generar matriz aleatoriamente:

 Aparecen aleatoriamente diferentes disposiciones de tuberías:

Actualizar la posición de la tubería: Llamado en tick:

 


Puntos de diseño adicionales: crea un nuevo GameState:

Comportamientos y Propiedades:

 Durante el movimiento del pipeline, se producirán cambios en la puntuación, por lo que la lógica de suma de puntuación se escribe en la clase del pipeline (llamando al GameStateBase predeterminado):


Organice la lógica en GameMode:

Defina un tipo de enumeración para registrar el estado del juego:

 

Definir puntero de clase: establecer velocidad en GameMode

 Función de cambio de estado:

Utilice el programa de la consola para controlar el estado actual del juego: (0 reinicio, 1 inicio, 2 fin)

 

 Generar objeto de clase:

Supongo que te gusta

Origin blog.csdn.net/qq_44160901/article/details/131645947
Recomendado
Clasificación