Usando 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 foram codificadas dentro delas. Às vezes, porém, você pode não saber com antecedência o que essas informações serão, ou você quer ser capaz de 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ê Os parâmetros são coloca-lugar para informações que você deseja dar à função em um momento posterior. Eles são como janelas que permitem que você passe 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 qualquer coisa que toque a peça, incluindo outras peças. Você terá que usar um parâmetro para configurá-lo. Tenha cuidado para ancorar a armadilha onde ela não cai e destrói coisas sem intenção.

Criar uma Nova Peça

Uma peça precisa ser configurada que destruirá qualquer coisa que a toque.

  1. Crie uma nova peça que não toque em nada. Se estiver tocando em algo, pode ser que ela vá embora muito rápido.
  2. No Explorador, renomeie a peça:TrapPart.
  3. Ancorar a peça.

Configurar o Script

Use o que você sabe sobre variáveis e a hierarquia de experiência para referenciar a parte da armadilha.

  1. Adicione um novo script na parte da armadilha. Rename the script TrapScript .

  2. Exclua Hello World e adicione um comentardescritivo.

  3. Sob o comentar, crie uma nova variável que encontrará o pai do script.


    -- Destrói qualquer coisa que toque o pai
    local trap = script.Parent

Crie uma Função com um Parâmetro

A armadilha usará uma função para destruir qualquer coisa que toque a peça. Para funcionar, a função precisa saber o que tocou a peça. E isso significa usar parâmetros. Os parâmetros são tipados dentro do () que vem depois do nome de uma função. Eles se parecem com isso:


local function functionName(parameterName)
end

A informação real que é passada através do parâmetro é chamada de um argumento. Você criará uma nova função chamada onTouch() com um parâmetro chamado objectTouched que rastreará qualquer toque que toque a armadilha e depois destruirá a peça que toca.

  1. Crie uma função local. Pode ser chamado de qualquer nome, mas esta lição usará onTouch


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


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


    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    end

Use um Evento para Chamar a Função

Queremos que a função seja executada sempre que algo tocar a peça. Para fazer isso, conecte a função ao evento Touched. Os eventos são coisas que acontecem na experiência. Como um jogador tocando uma peça ou perdendo saúde. Quando uma função é conectada a um evento, a função é executada sempre que o evento acontece.

O evento Touched ativa quando uma parte toca outra parte e pode ser usada para criar botões, armadilhas e outros objetos que os jogadores interagem.

  1. Embaixo da função's end , type trap.Touched:Connect(onTouch)


    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    end
    -- Conecte a função ao evento Touched
    trap.Touched:Connect(onTouch)
  2. Clique em Teste e depois toque na peça. Verifique se sua declaração de teste está imprimida: Something touched the trap . Se você não puder ver a string na janela de saída, verifique o seguindo:

    • Certifique-se de que a string "Algo tocou a peça!" está entre a função local onTouch() e o terminar/parar/sair.
    • Verifique se Touched está capitalizado.
  3. Agora que a função está corretamente configurada, use-a para destruir qualquer coisa que toque a peça. Dentro da função, depois da string / cadeia / texto, digite objectTouched:Destroy() O código completo deve ser:


    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    -- Destruir o Objetode toque
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. Teste novamente e veja o que acontece quando a peça é tocada. Seu avatar deve ficar sem pés ou braços. Se a peça tocar a cabeça ou pescoço do seu avatar, pode até ser completamente destruída.

Visão Geral

Os parâmetros são usados para passar informações que would be normally out of scope (onde uma função não pode vê-lo), into a function. während, os eventos são sinais especiais que go off dentro do experience when algo importante happens. Different objects have different events. Funções podem ser conectados a eventos so that they are called each time the event gets fired. Este pequeno script conectou uma função ao evento do trap's Class.