Valutazione di più dichiarazioni

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Se le dichiarazioni possono avere più requisiti che devono essere veri prima di eseguire il codice. Il valore diagonale and ti consente di combinare le dichiarazioni. Il seguente codice valuta prima se due più due uguali sei e poi se quattro non uguali sei. Se entrambe le dichiarazioni sono vere, il codice viene Eseguire.


-- non eseguire
if 2 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end
-- eseguire
if 4 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end

Creazione di una Powerup

I potenziamenti sono oggetti in-experience che danno ai giocatori abilità speciali come volare, invisibilità o velocità. Questo potenziamento aumenterà la velocità di camminata del Giocatoreogni volta che viene toccato. L'applicazione continua dei potenziamenti può rendere il giocatore andare troppo velocemente, quindi and sarà usato per controllare il limite di velocità di camminata superiore.

Configurazione del power-up

Usa questo codice con una parte semplice o un modello, come un cristallo, un monete o un globo neon.

  1. Crea una nuova parte chiamata Powerup e inserisci uno script chiamato WalkSpeedManager .

  2. Dichiarare una variabile chiamata speedBoost e assegnare l'oggetto padre dello script.


    -- Dà un aumento di velocità temporaneo quando viene toccato
    local speedBoost = script.Parent
  3. Imposta una funzione chiamata onTouch e connetti all'evento Touched dell'oggetto padre. Quindi testa e controlla il tuo lavoro.


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Something touched speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. La proprietà WalkSpeed viene trovata sugli oggetti umanoidi. Usa lo stesso modello usato per creare una parte trappola e crea una condizione che controlla gli oggetti umanoidi.

    Cerca parti umanoidi

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("A Humanoid was found")
    end
    end

Aumento della velocità dei giocatori

Il potenziamento della velocità farà in modo che gli avatar camminino più velocemente ogni volta che il potenziamento della velocità viene toccato. Ciò diventerà rapidamente molto, molto veloce. Il termine chiave and garantirà che i giocatori non possano andare troppo velocemente abilitando solo il potenziamento della velocità se il giocatore è sotto una certa velocità.

  1. Se viene trovato un Umanoide, prendi il valore WalkSpeed attuale e aggiungi 10 a esso. Playtest, e il tuo avatar otterrà più veloce ogni volta che tocca il potenziamento di velocità.

    Aumenta la velocità di marcia attuale

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    humanoid.WalkSpeed += 10
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. Nella dichiarazione if, usa il valore della chiave di parola and per aggiungere una seconda condizione che il valore attuale di WalkSpeed sia inferiore a 50. Dopo aver aggiunto il boost, il valore più veloce di WalkSpeed sarà 60.

    Controlla se la velocità di marcia attuale è 50 o inferiore

    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    end

Ottimizzazione fine della potenziamento della velocità

OnTouch viene chiamato ogni volta che il potenziamento di velocità viene toccato. Ogni passo o il minimo rallentamento attiva l'evento Touched e chiama la funzione connessa. La Proprietàdella parte, CanTouch può mantenere l'evento Touched fermo. Prendi vantaggio di CanTouch e disattiva il potenziamento di velocità ogni secondo ogni volta che viene attivato.

  1. Dopo aver applicato il potenziamento, imposta la proprietà CanTouch della parte su false. Playtest e assicurati che il potenziamento si applica solo una volta.

    Disabilita il potenziamento di velocità

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. Usa task.wait(1) per暂停脚本,然后将 CanTouch 设置为 true。 测试并确保速度提升可以在一秒后重新应用。

    scriptfinito

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    task.wait(1)
    speedBoost.CanTouch = true
    end
    end
    speedBoost.Touched:Connect(onTouch)
  3. Gioca con i valori nello script finito. WalkSpeed può andare fino a 100. Il valore predefinito di WalkSpeed è 16.

Panoramica

Il tasto di parola chiave and può essere utilizzato per richiedere più condizioni prima di eseguire un pezzo di codice, come un valore che è più di 0 e meno di 100. O che se c'è un umanoide e la sua WalkSpeed è inferiore o uguale a 50.