Creare Videogiochi - Game Developer

Versione completa: Unreal Script - Tutorial 4.
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Buona serata a tutti,

Oggi parleremo di un elemento molto importante, ovvero le Funzioni. Cosa sono esse?

Citazione:Function Auto_Guasta
{
Chiama_Meccanico;
}
E, in un ipotetico codice parlato:
Citazione: If(Auto == Guasta)
{
Auto_Guasta();
}
Qui abbiamo visto due nuove cose, creare una Funzione personalizzata e come chiamarla. Ma sono stato molto freddo nell' utilizzare le Funzioni, non facendovi incuriosire abbastanza.
Esistono funzioni ed eventi. Simili a loro ci sono anche gli stati, che spiegheremo in seguito.
Funzione : Un' istruzione che viene chiamata al partire del Livello oppure viene chiamata ogni fotogramma
Event : Istruzione che può avvenire in qualsiasi momento. Per farvi un esempio, ci sono due Eventi: Touch e TakeDamage. Ovvero vengono chiamati solo quando l ' evento in questione accade, se non accade, le istruzioni al suo interno non verranno eseguite.

La mia Funzione
Esiste una differenza tra una tua funzione e una "predefinita" . Andiamo a vedere:
Citazione:Function PostBeginPlay()
Function PreBeginPlay()
Queste Funzioni verranno chiamate all' inizio del Livello.

Citazione:Function Inizio_Livello()
Questa no.

Il punto in cui io voglio arrivare è: come chiamare una propria funzione?
Quando una Funzione viene chiamata, tutte le Funzioni al suo interno vengono avviate. Vediamo come si chiama una Funzione

Citazione:Function My_Function ()
{
`Log("My_Function chiamata ! " );
}
Function PreBeginPlay ()
{
My_Function();
}
Ragioniamo:
Abbiamo inizializzato una funzione. Essa ha un' istruzione al suo interno. Nella funzione, la quale indica l ' inizio del livello,chiamiamo la nostra funzione.Essa, essendo chiamata, esegue tutte le istruzioni al suo interno.
Salva, compila, posiziona, gioca, chiudi e controlla il Launch.
Il modificatore di funzione " Singular "
Scrivi nel tuo script la seguente riga di codice:
Citazione: Function Function_01()
{
`Log("Function_01 chiamata");
Function_02();
}
Function_02 ()
{
`Log("Function_02 chiamata");
Function_01();
}
Function PreBeginPlay ()
{
Function_01();
}
Salva, compila e prova:
Crash ... come mai?
Semplice. Si è creato un ciclo infinito che andare in Crash il tutto.
Come risolvere?
Citazione:Singular Function Function_01()

In questo modo risolveremo. I due Log verranno ripetuti una volta sola.

Per oggi è tutto.


Buona serata.
UDK95 ti ringrazio per il contributo alla community, spero di vedere spesso tue guide!