Normalmente, las funciones solo pueden usar la información que han codificado dentro de ellas. Sin embargo, a veces, es posible que no sepa con anticipación cuál será esa información, o que desee poder reutilizar la misma función con múltiples piezas de información similar. Por ejemplo, si quería usar una función para mostrar el nombre de la persona que terminó un curso de obby más rápido en letras gigantes a todos. No sabrás el nombre del futuro ganador hasta que termine la carrera. Los parámetros son marcadores de posición para la información que desea dar a la función más tarde. Son como ventanas que le permiten pasar información a la función.
Usa Parámetros y Eventos para Establecer una Trampa
Este script creará una parte trampa que destruirá cualquier cosa que toque la parte, incluidas otras partes. Tendrás que usar un parámetro para configurarlo. Tenga cuidado de anclar la trampa donde no caiga y destruya las cosas involuntariamente.
Crear una Nueva Parte
Se debe configurar una parte que destruya cualquier cosa que la toque.
- Crea una nueva parte que no esté tocando nada. Si está tocando algo, es posible que se rompa demasiado pronto.
- En el Explorador, cambia el nombre de la parte:TrapPart.
- Ancla la parte.
Configurar el Script
Usa lo que sabes sobre variables y la jerarquía de experiencia para hacer referencia a la parte de la trampa.
Añade un nuevo script a la parte de trampa. Renombra el script TrapScript .
Elimina Hola Mundo y añade un hacer un comentariodescriptivo.
Bajo el hacer un comentario, crea una nueva variable que encuentre el padre del script.
-- Destruye todo lo que toca al padrelocal trap = script.Parent
Crear una función con un parámetro
La trampa usará una función para destruir cualquier cosa que haya tocado la parte. Para funcionar, la función necesita saber qué ha tocado la parte. Y eso significa usar parámetros. Los parámetros se escriben dentro del () que viene después del nombre de una función. Se ven así:
local function functionName(parameterName)
end
La información real que se pasa a través del parámetro se llama un argumento . Crearás una nueva función llamada onTouch() con un parámetro llamado objectTouched que rastreará lo que toque la trampa y luego destruirá la parte que toca.
Crea una función local. Se puede llamar lo que sea, pero esta lección usará onTouch
local trap = script.Parentlocal function onTouch()endDentro del () , escriba un nombre para el parámetro. Esta lección usará el objeto Tocado.
local trap = script.Parentlocal function onTouch(objectTouched)endEntre local function onTouch() y end, crea una sentencia de impresión. Usarás esto para verificar si algo está tocando la parte en la siguiente sección.
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")end
Usa un evento para llamar a la función
Queremos que la función se ejecute cuando algo toque la parte. Para hacer que eso suceda, conecte la función al evento Touched. Los eventos son cosas que suceden en la experiencia. Como un jugador que toca una parte o pierde salud. Cuando una función está conectada a un evento, la función se ejecuta cuando ocurre el evento.
El evento Touched se dispara cuando una parte toca otra parte y se puede usar para crear botones, trampas y otros objetos con los que los jugadores interactúan.
Debajo de la función end , Connecttrap.Touched:Connect(onTouch)
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")end-- Conecta la función al evento Touchedtrap.Touched:Connect(onTouch)Haga clic en Prueba y luego toque la parte. Compruebe su sentencia de impresión de prueba: Something touched the trap . Si no puede ver la cadena en la ventana de salida, compruebe lo siguiendo:
- Asegúrese de que la cadena "¡Algo tocó la parte!" esté entre la función local onTouch () y el finalizar.
- Comprueba que Touched esté en mayúscula.
Ahora que la función está configurada correctamente, úsala para destruir cualquier cosa que toque la parte. Dentro de la función, después de la cadena, escribe objectTouched:Destroy() El código completado debería ser:
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")-- Destruye el objeto que tocasobjectTouched:Destroy()endtrap.Touched:Connect(onTouch)Prueba de nuevo y mira qué sucede cuando la parte es tocada. Tu avatar debería terminar perdiendo pies o brazos. Si la parte toca la cabeza o el cuello del avatar, incluso podría ser completamente destruida.
Resumen
Los parámetros se usan para pasar información que normalmente estaría fuera del alcance (donde una función no puede verlo), en una función. Mientras tanto, los eventos son señales especiales que salen dentro de la experiencia cuando sucede algo importante. Diferentes objetos tienen diferentes eventos. Las funciones se pueden conectar a eventos para que se llamen cada vez que se dispara el evento. Este pequeño script conectó una función al evento Touched de la trampa y se pasó en lo que estaba tocando la trampa a través del parámetro.