Cómo hacer destrucción en Roblox – Lección de Lua para niños / Sudo Null IT News

En este tutorial te mostraremos cómo crear bloques destructibles en Roblox. Agreguemos objetos simples al mapa y escribamos programas para ellos en Lua.

Roblox Studio es un gran motor para crear tus primeros juegos 3D. Aquí, los niños de 9 a 10 años pueden aprender a modelar objetos y programar en el sencillo lenguaje Lua. En el proceso, podrás aprender a crear tanto juegos pequeños como proyectos completos con muchas funciones diferentes.

En este tutorial, compartiremos dos métodos para crear destrucción y explicaremos qué script Lua es adecuado para cada uno de ellos. Los elementos resultantes se pueden agregar al simulador de destrucción en Roblox o a tu juego de otro género.

Material elaborado por una escuela de programación para niños Píxel. Al final del artículo podrás encontrar un vídeo que muestra claramente todas las acciones del tutorial.

Primera versión de un bloque destructible

Las plataformas destructibles agregarán mucha dinámica a tu mapa en Roblox, veamos las diferentes formas de crearlas.

La forma más sencilla de construir un objeto destructible es utilizar el método :Destroy(). Para hacer esto, cree un bloque en el mapa y agréguele un script:

Creando un objeto en el mapa.

Creando un objeto en el mapa.

Agregar un script a un objeto

Agregar un script a un objeto

A continuación, escribamos el siguiente script:

Guión para la destrucción

Guión para la destrucción

En este script, usaremos una animación que moverá nuestra plataforma hacia arriba, después de lo cual desaparecerá.

Veamos el código de destrucción en Roblox:

Las dos primeras líneas definen las variables. Variable bloquear establece el objeto principal al que se adjunta el script. Variable entreservicio obtiene el servicio utilizado para crear la animación del bloque en movimiento.

Función onTouched(golpear) Se llama cuando el jugador toca un bloque. Si el jugador tiene un objeto humanoide en el elemento padre, entonces el objeto recibe la propiedad Anclado = falsolo que le permite moverse. Luego se determinan los parámetros de la animación, incluida la duración, el estilo y la dirección, y la posición final del modelo después de la animación. Y se crea la animación. entre.

  • Enum.EasingStyle.Linear — estilo de animación. En este caso utilizamos un estilo de animación lineal, lo que significa que nuestro elemento se moverá a una velocidad constante.

  • Enum.EasingDirection.InOut — dirección de animación. En nuestro caso utilizamos Dentro-fueraesto significa que el bloque se moverá en direcciones opuestas a medida que se reproduce la animación, moviéndose hacia arriba y luego hacia abajo.

Una vez creada la animación, interpolación:Reproducir() lo reproduce.

Función espera(1) espera un segundo a que termine la animación y luego destruye el bloque usando el método bloque: destruir().

Finalmente, block.Touched:Conectar(onTouched) conecta la función en Tocado() con un evento de toque de bloque para que se llame cada vez que el jugador lo toque.

Como resultado, cuando entra en contacto con un jugador, el bloque se moverá hacia arriba y luego desaparecerá. Este tipo de destrucción es muy adecuado para un mapa de parkour.

Segunda versión del bloque destructible.

Ahora crearemos un efecto más realista de la destrucción de nuestro bloque, en el que no solo desaparecerá, sino que también dejará escombros.

Creemos una Parte en el mapa y agreguemosle un script:

Creando un segundo objeto

Creando un segundo objeto

Agregar un guión

Agregar un guión

A continuación, escribamos el siguiente script:

Código para la destrucción

Código para la destrucción

Te explicamos el script de destrucción en Roblox:

Al comienzo del código, se define un objeto de bloque, que es el objeto principal del script, es decir, el bloque en sí.

Entonces cuando ocurre el evento Tocado en el bloque, la función se llama en Touchedque toma un argumento golpear. Variable golpear contiene información sobre el objeto que entró en contacto con el bloque.

A continuación, el script comprueba si golpear un objeto que contiene humanoideusando el método Buscarprimerhijodeclase. Si golpear contiene humanoideluego se realiza la acción de destruir el bloque y crear escombros.

El método utilizado para destruir nuestra plataforma es Romperjuntasque destruye todas las conexiones entre el bloque y sus objetos vecinos, permitiendo que el bloque se mueva libremente.

Luego ocurre un ciclo que se repite 10 veces y crea 10 desechos nuevos. Se crea un nuevo objeto para cada bloque. EsquinaCuñaParte con propiedades de tamaño, rotación, color y material determinadas aleatoriamente. Cada elemento se coloca en una ubicación aleatoria alrededor del bloque original usando la propiedad Marco CF. CFrame es un sistema de coordenadas que almacena información sobre la posición y orientación de un objeto en el espacio 3D, con su ayuda podemos establecer la posición relativa a las coordenadas del bloque principal agregando un desplazamiento aleatorio.

Al final, el script elimina el bloque original usando el método Destruir.

Así, cuando un jugador u objeto toca un bloque, este se destruye y en su lugar aparecen varios bloques nuevos con diferentes propiedades, creando un efecto de destrucción.

Cubre después de que se destruye el cubo.

Cubre después de que se destruye el cubo.

Este script funciona muy bien en MeshPart:

Vídeo: Creando destrucción en Roblox Studio


En Roblox Studio puedes crear juegos de varios géneros: corredores, terror, juegos de rol, varios simuladores, etc. Si quieres profundizar en el desarrollo de juegos en este motor, aprende a crear funciones y detalles individuales (animación, teletransporte, NPC, tienda, inventario y mucho más), así como proyectos completos que los usuarios de todo el mundo pueden jugar, luego mira los ciclos de nuestras lecciones gratuitas en canal rutube.

Y si desea recibir capacitación en Roblox bajo la guía de un maestro, consulte los cursos en línea en modelado y programación de la escuela Pixel.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *