Normalmente, le funzioni possono utilizzare solo le informazioni che hanno codificato all'interno di loro. A volte, tuttavia, potresti non sapere in anticipo quale sarà l'informazione, o vuoi essere in grado di riutilizzare la stessa funzione con più pezzi di informazioni simili. Ad esempio, se vuoi utilizzare una funzione per visualizzare il nome della persona che ha finito un corso obby più velocemente con lettere giganti a tutti. Non saprai il nome I parametri sono luoghi comuni per l'informazione che vuoi dare alla funzione in un momento successivo. Sono come le finestre che ti consentono di passare informazioni alla funzione.
Usa i parametri e gli eventi per impostare una trappola
Questo script creerà una parte trappola che distrugge tutto ciò che tocca la parte, incluse altre parti. Dovrai usare un parametro per impostarlo. Fai attenzione ad ancorare la trappola in cui non cade e distrugge cose in modo non intenzionale.
Crea una nuova parte
Una parte deve essere configurata che distruggerà qualsiasi cosa tocchi.
- Crea una nuova parte che non tocca nulla. Se tocca qualcosa, potrebbe andare fuori troppo presto.
- Nell'Explorer, rinomina la parte:TrapPart.
- Ancorare la parte.
Configura lo script
Usa ciò che sai delle variabili e della gerarchia dell'esperienza per fare riferimento alla parte della trappola.
Aggiungi uno script nuovo nella parte trappola. Rinomina lo script TrapScript .
Elimina Hello World e aggiungi un Commentaredescrittivo.
Sotto il Commentare, crea una nuova variabile che trova il parentdello script.
-- Distrugge tutto ciò che tocca il parentlocal trap = script.Parent
Crea una funzione con un parametro
La trappola utilizza una funzione per distruggere qualsiasi cosa tocca la parte. Per funzionare, la funzione deve sapere cosa ha toccato la parte. E questo significa utilizzare i parametri. I parametri vengono inseriti all'interno del () che viene dopo il nome di una funzione. Sembrano così:
local function functionName(parameterName)
end
L'effettiva informazione che viene passata attraverso il parametro è chiamata un argomento . Creerai una nuova funzione chiamata onTouch() con un parametro chiamato objectTouched che traccerà tutto ciò che tocca l'insieme e poi distruggerà la parte toccata.
Crea una funzione locale. Può essere chiamata qualsiasi cosa, ma questa lezione userà onTouch
local trap = script.Parentlocal function onTouch()endDentro il () , digita un nome per il parametro. Questa lezione userà objectTouched.
local trap = script.Parentlocal function onTouch(objectTouched)endTra local function onTouch() e end, crea una dichiarazione di stampa. Utilizzerai questo per controllare se qualcosa tocca la parte nella prossima sezione.
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")end
Usa un evento per chiamare la funzione
Vogliamo che la funzione venga eseguita ogni volta che qualcosa tocca la parte. Per rendere ciò possibile, connect the function to the Touched event. Eventi sono cose che accadono nell'esperienza. Come un giocatore che tocca una parte o perde la salute. Quando una funzione è connessa a un evento, la funzione viene eseguita ogni volta che accade un evento.
L'evento Touched viene attivato ogni volta che una parte tocca un'altra parte e può essere utilizzato per creare pulsanti, trappole e altri oggetti con cui i giocatori interagiscono.
Sotto la funzione end, digita trap.Touched:Connect(onTouch)
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")end-- Connetti la funzione all'evento Touchedtrap.Touched:Connect(onTouch)Fai clic su Test e poi tocca la parte. Controlla la tua dichiarazione di stampa di test: Something touched the trap . Se non riesci a vedere la stringa nella finestra di uscita, controlla le Seguendoopzioni:
- Assicurati che la stringa "Qualcosa toccato la parte!" sia tra la funzione locale onTouch() e la Terminare.
- Controlla che Touched sia capitalizzato.
Ora che la funzione è impostata correttamente, usala per distruggere qualsiasi cosa tocca la parte. All'interno della funzione, dopo la Stringa, scrivi objectTouched:Destroy() Il codice completato dovrebbe essere:
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")-- Distruggi l'oggetto toccanteobjectTouched:Destroy()endtrap.Touched:Connect(onTouch)Prova di nuovo e vedi cosa succede quando viene toccata la parte. Il tuo avatar dovrebbe finire con i piedi o le braccia mancanti. Se la parte tocca la testa o il collo dell'Avatar, potrebbe essere completamente distrutta.
Panoramica
I parametri vengono utilizzati per passare informazioni che sarebbero normalmente fuori dal raggio (dove una funzione non può vederlo), in una funzione. Mentre gli eventi sono segnali speciali che vanno off dentro dell'esperienza quando accade qualcosa di importante. I diversi oggetti hanno diversi eventi. Le funzioni possono essere connesse agli eventi in modo che siano chiamati ogni volta