Usando Parámetros y Eventos

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

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.

  1. Crea una nueva parte que no esté tocando nada. Si está tocando algo, es posible que se rompa demasiado pronto.
  2. En el Explorador, cambia el nombre de la parte:TrapPart.
  3. 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.

  1. Añade un nuevo script a la parte de trampa. Renombra el script TrapScript .

  2. Elimina Hola Mundo y añade un hacer un comentariodescriptivo.

  3. Bajo el hacer un comentario, crea una nueva variable que encuentre el padre del script.


    -- Destruye todo lo que toca al padre
    local 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.

  1. Crea una función local. Se puede llamar lo que sea, pero esta lección usará onTouch


    local trap = script.Parent
    local function onTouch()
    end
  2. Dentro del () , escriba un nombre para el parámetro. Esta lección usará el objeto Tocado.


    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. Entre 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.Parent
    local 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.

  1. Debajo de la función end , Connecttrap.Touched:Connect(onTouch)


    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    end
    -- Conecta la función al evento Touched
    trap.Touched:Connect(onTouch)
  2. 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.
  3. 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.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    -- Destruye el objeto que tocas
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. 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.