Username:  Password:
 
Search   Topics   
  Create an account Home  ::  Topics  ::  Downloads  ::  Forum  ::  Submit News  ::  Top 10
:: Menù ::
· Home
· Argomenti
· Download Risorse
· FAQ
· Forum
· Invia News
· Recensioni Games
· Tutorials
· Web Links

:: Tutorials ::

:: Who's Online ::
In questo momento ci sono, 9 Visitatori(e) e 0 Utenti(e) nel sito.

Non ci conosciamo ancora? Registrati gratuitamente Qui

Tutorials

[ Tutorials in avanzamento | Top 10 | Tutorials ]

 Altre informazioni
L'importanza dell'evento "only one action when event loops"
1536 letture | Scrivi un commento | Commento(i) inseriti per questo tutorial.

Un evento spesso sottovalutato dai niubbi!
Scrivo questo breve articolo per fare un piccolo excursus su quello che a mio parere è l'evento più importante, ma meno considerato dai principianti, di TGF/MMF (e anche TGF2/MMF2, che tanto mantengono lo stesso sistema di condizioni-eventi). Di solito chi inizia a smanettare con l'editor di eventi nemmeno lo nota, non lo usa, e il risultato è che poi quando qualcosa non funziona pensa "è un bug del programma!". Questo evento, oltre che importantissimo, è anche quello che si usa più spesso, visto che in media nei miei giochi lo applico a circa un terzo delle linee di condizione-azione (gli eventi che fanno funzionare il gioco, appunto).

Iniziamo col significato: "Only one action when event loops". Per chi non mastica l'inglese, significa letteralmente: "Solo un'azione quando l'evento si ripete".

Che cosa significa? Che se una condizione del gioco non dura un'istante, ma un arco di tempo, l'azione a essa legata non si ripeterà costantemente, ma solo una volta. Facciamo un'esempio.

Prendiamo un qualsiasi gioco con una palla che rimbalza: voglio che quando la palla entra in una certa area, o si sovrappone a un certo oggetto, la sua direzione cambi in modo casuale. Quindi l'evento sarà:

Codice:
- Coordinata X di "palla" > 30 (oppure: "Palla" si sovrappone all'oggetto "taldeitali")       = Cambia direzione palla a random


Ora, se voi provaste a inserire quest'evento, vi accorgereste che, entrata nell'area interessata, la palla comincerebbe a muoversi in modo pazzoide, cambiando direzione ogni istante. Questo perchè la condizione dell'evento è STABILMENTE attiva, ovvero la palla è CONTINUAMENTE in quell'area, e quindi l'azione continuerà a ripetersi!
Ma se noi applichiamo la nostra bella condizione "only one action when event loops" otteniamo:

Codice:
- Coordinata X di "palla" > 30                  = Cambia direzione palla a random
+ Only one action when event loops


Ora la palla, entrata nell'area interessata, cambierà direzione una sola volta, fino ad uscire dall'area!
Ovviamente, se dovesse uscire e poi rientrare, la condizione sarebbe attivata ancora una volta, ma l'azione avverrebbe comunque (nuovamente) una volta sola!

Facciamo un'altro esempio, per chi ancora non fosse convinto. Voglio fare in modo che, dopo 3 secondi di gioco, venga riprodotto un suono o una musica. Potrei fare:

Codice:
- Timer > 3 secondi       = riproduci suono "pappappero.wav"


Se foste così sconsiderati da fare una cosa del genere vi accorgereste che il suono viene riprodotto in continuazione, sovrapponendosi, facendo un bel casino!
Ancora una volta, usiamo la nostra condizione preferita:

Codice:
- Timer > 3 secondi                      = riproduci suono "pappappero.wav"
+ Only one action when event loops


Ora, passati i 3 secondi, verrà riprodotto il suono "pappappero.wav" una sola volta!!

Capito? E la cosa si applica a un sacco di condizioni, molto importante ad esempio è ricordarsi di usare questa condizione quando si cambiano i valori alterabili, quando gli oggetti si sovrappongono, insomma tutte le volte che per una condizione duratura necessitiamo di una sola azione.

Spero di essere stato utile ai niubbi, saluti!

My TutoriaUp ©
Home  ::  Topics  ::  Downloads  ::  Forum  ::  Submit News  ::  Top 10 Admin Login  

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2006 by Click Italian Software.
Design and addictional coding by Beppo - Bepposoft