Use parâmetros e eventos

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Normalmente, funções só podem usar as informações que estão codificadas dentro delas. No entanto, às vezes, você pode não saber de antemão qual será essa informação, ou deseja poder reutilizar a mesma função com várias peças de informações semelhantes. Por exemplo, se você quisesse usar uma função para exibir o nome da pessoa que terminou um curso de obby mais rápido em letras gigantes para todos. Você não saberá o nome do futuro vencedor até que a corrida termine.

Parâmetros são espaços reservados para informações que você deseja fornecer à função em um momento posterior. Eles são como janelas que permitem que você transmita informações para a função.

Use parâmetros e eventos para configurar uma armadilha

Este script criará uma parte de armadilha que destrói tudo o que toca a parte, incluindo outras partes. Você terá que usar um parâmetro para configurá-la. Tenha cuidado para ancorar a armadilha onde ela não caia e destrua coisas involuntariamente.

Crie uma nova parte

Uma parte precisa ser configurada para destruir qualquer coisa que a toque.

  1. Crie uma nova parte que não esteja tocando nada. Se estiver tocando algo, pode ser ativada muito cedo.
  2. No Explorer, renomeie a parte: TrapPart.
  3. Ancore a parte.

Configure o script

Use o que você sabe sobre variáveis e a hierarquia do jogo para referenciar a parte da armadilha.

  1. Adicione um novo script na parte da armadilha. Renomeie o script para TrapScript.

  2. Exclua Hello World e adicione um comentário descritivo.

  3. Abaixo do comentário, crie uma nova variável que encontre o pai do script.

    -- Destrói tudo o que toca o pai
    local trap = script.Parent

Crie uma função com um parâmetro

A armadilha usará uma função para destruir tudo o que tocou a parte. Para funcionar, a função precisa saber o que tocou a parte. E isso significa usar parâmetros. Os parâmetros são digitados dentro do () que vem após o nome de uma função. Eles se parecem com isso:

local function functionName(parameterName)
end

A informação real que é passada pelo parâmetro é chamada de argumento. Você criará uma nova função chamada onTouch() com um parâmetro chamado objectTouched que rastreará o que tocar a armadilha e, em seguida, destruirá a parte que está tocando.

  1. Crie uma função local. Pode ser nomeada como quiser, mas esta lição usará onTouch

    local trap = script.Parent
    local function onTouch()
    end
  2. Dentro do (), digite um nome para o parâmetro. Esta lição usará objectTouched.

    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. Entre local function onTouch() e end, crie uma instrução de impressão. Você usará isso para verificar se algo está tocando a parte na próxima seção.

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Algo tocou a armadilha")
    end

Use um evento para chamar a função

Queremos que a função seja executada sempre que algo tocar a parte. Para que isso aconteça, conecte a função ao evento Touched. Eventos são coisas que acontecem no jogo. Como um jogador tocando uma parte ou perdendo saúde. Quando uma função está conectada a um evento, a função é executada sempre que o evento acontece.

O evento Touched é acionado sempre que uma parte toca outra parte e pode ser usado para criar botões, armadilhas e outros objetos com os quais os jogadores interagem.

  1. Abaixo do end da função, digite trap.Touched:Connect(onTouch)

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Algo tocou a armadilha")
    end
    -- Conecte a função ao evento Touched
    trap.Touched:Connect(onTouch)
  2. Clique em Testar e depois toque a parte. Verifique sua instrução de impressão de teste: Algo tocou a armadilha. Se você não conseguir ver a string na janela de Saída, verifique o seguinte:

    • Certifique-se de que a string "Algo tocou a parte!" está entre local function onTouch() e end.
    • Verifique se Touched está capitalizado.
  3. Agora que a função está configurada corretamente, use-a para destruir tudo o que tocar a parte. Dentro da função, após a string, digite objectTouched:Destroy() O código completo deve ser:

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Algo tocou a armadilha")
    -- Destrua o objeto que está tocando
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. Teste novamente e veja o que acontece quando a parte é tocada. Seu avatar deve acabar sem pés ou braços. Se a parte tocar a cabeça ou o pescoço do avatar, pode até ser completamente destruído.

Resumo

Os parâmetros são usados para passar informações que normalmente estariam fora do escopo (onde uma função não pode vê-las), para dentro de uma função. Enquanto isso, os eventos são sinais especiais que são acionados dentro do jogo quando algo importante acontece. Diferentes objetos têm diferentes eventos. Funções podem ser conectadas a eventos para que sejam chamadas cada vez que o evento é acionado. Este pequeno script conectou uma função ao evento Touched da armadilha e passou o que estava tocando a armadilha através do parâmetro.

©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.