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. A veces, sin embargo, no podrías saber con anticipación qué información será esa, o quieres poder reutilizar la misma función con múltiples piezas de información similar. Por ejemplo, si quieres usar una función para mostrar el nombre de la persona que terminó un curso de obby más rápido en letras gigantes para todos. No sabrás el nombre del futuro ganador hasta que termine la car

Los parámetros son marcadores de información que quieres dar a la función en un momento lateral. Son como ventanas que te permiten pasar información a la función.

Usa parámetros y eventos para configurar una trampa

Este script creará una parte de trampa que destruye cualquier cosa que toque la parte, incluida otra parte. Tendrás que usar un parámetro para configurarlo. Ten cuidado de anclar la trampa donde no cae y destruye cosas sin querer.

Crear una Nueva Parte

Se necesita configurar una parte que destruirá cualquier cosa que la toque.

  1. Crea una nueva parte que no toque nada. Si toca algo, puede salirse demasiado pronto.
  2. En el Explorador, renombre la parte:TrapPart.
  3. Anclar la parte.

Configurar el script

Usa lo que sabes sobre variables y la jerarquía de la experiencia para referirte a la parte de la trampa.

  1. Añade un nuevo script en la parte de la trampa. Renombrea el script TrapScript .

  2. Elimina Hello World y añade un hacer un comentariodescriptivo.

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


    -- Destruye lo que toca el padre
    local trap = script.Parent

Crea una Función con un Parámetro

La trampa usará una función para destruir cualquier cosa que toque la parte. Para funcionar, la función necesita saber qué tocó 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á cualquier toque que luego destruirá la parte tocada.

  1. Crea una función local. Se puede nombrar lo que se quiera, pero esta lección usará onTouch


    local trap = script.Parent
    local function onTouch()
    end
  2. En el (), escribe el nombre del parámetro. Esta lección usará objectTouched.


    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. Entre local function onTouch() y end, crea una declaración 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 siempre que algo toque la parte. Para hacer eso, conecta 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 se conecta a un evento, la función se ejecuta siempre que suceda el evento.

El evento Touched ocurre 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. Bajo la función end, escribe trap.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 Probar y luego toque la parte. Compruebe su declaración de impresión de prueba: Something touched the trap . Si no puede ver la cadena en la ventana de salida, revise lo siguiendo:

    • Asegúrese de que la cadena "Algo tocó la parte!" esté entre la función local onTouch() y el finalizar.
    • Asegúrese de que Touched está capitalizado.
  3. Ahora que la función se ha configurado correctamente, úsela para destruir cualquier parte que toque. Dentro de la función, después de la cadena, escriba 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 toca
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. Prueba de nuevo y ve a ver qué pasa cuando se toca la parte. Tu avatar debería terminar perdiendo pies o brazos. Si la parte toca la cabeza o el cuello del avatar, incluso puede estar completamente destruida.

Resumen

Las variables se utilizan para pasar información que normalmente estaría fuera de alcance (donde una función no puede verlo) a una función. Mientras tanto, los eventos son señales especiales que se activan dentro de la experiencia cuando algo importante sucede. Diferentes objetos tienen diferentes eventos. Las funciones se pueden conectar a los eventos para que se llamen cada vez que se activa el evento. Este pequeño script conectó una función