EVENTS :


( Eventi )


GM utilizza un metodo guidato denominato events ( evento ) .
Ogni volta che qualcosa accade nel gioco le instances degli objects ( casi degli oggetti ) ottengono gli eventi ( genere di messaggi che dicono che qualcosa è accaduto ).
Le instances possono allora reagire a questi messaggi eseguendo determinate Actions ( azioni ).
Per ogni object ( oggetto ) dovete indicare a quali eventi risponde e che azioni deve realizzare quando l' evento accade.
Ciò può suonare complicato ma è realmente molto facile.
Per gli eventi dove qualcosa deve accadere durante il gioco , potete usare un metodo molto semplice di drag-and-drop per indicare le azioni ( trascinare le icone delle azioni ).



Nella parte centrale della finestra delle proprietà dell' object è presente una lista degli Events ( eventi ) a cui l'oggetto deve reagire.
Inizialmente è vuota. Potete aggiungere gli eventi ad esso premendo il tasto Add Events
Comparirà questa finestra di dialogo degli Events la quale contiene tutti i differenti tipi di eventi .



Qui selezionate l'evento che desiderate aggiungere.
A volte un ulteriore menu apparirà con le scelte supplementari di quel evento.

Per esempio, se volete inserire un evento della tastiera , cliccate l' evento keyboard , a questo punto si aprirà un ulteriore menù dove avrete la possibilità di selezionare il tasto desiderato .

Sotto troverai una lista completa dei differenti eventi , più le loro descrizioni.

E' possibile cambiare un evento già presente nella lista Events , cliccando su di esso .




Nella parte destra della finestra di dialogo delle proprietà dell' object , ci sono tutte le Actions ( azioni ) rappresentate da piccole icone.
Sono raggruppate in un certo numero di pagine catalogate ( nel capitolo seguente troverete le descrizioni di tutte le azioni )
Fra la lista degli eventi e le icone delle azioni , c' è la Actions list ( lista delle azione ).
Questa lista contiene le azioni che devono essere realizzate per l' evento corrente.

Per aggiungere le azioni alla lista, trascinatele con il vostro mouse dalla destra alla lista. Verranno disposte una sotto l' altra , con una piccola descrizione .

Per ogni Actions ( azione ) vi verrà chiesto di fornire alcuni parametri ( questi inoltre saranno descritti nel capitolo seguente ).
Così dopo aver aggiunto alcune azioni , la finestra di dialogo delle proprietà dell' object potrebbe apparire così :



Come si può notare nell' immagine sopra è stato selezionato l' evento delcreate .
Nella sua Actions list sono state inserite 4 actions - icone ( la prima per la direzione , la seconda per la gravità , la terza per la frizione ed in fine la quarta per un suono ).

Ora potete cominciare ad aggiungere le azioni ad un altro evento.
Clicca sopra l' evento corretto con il tasto sinistro del mouse , per selezionarlo e trascina le azioni desiderate nella lista Actions .
Potete cambiare l'ordine delle icone delle azioni , già presenti nella Actions lista , usando ancora il sistema di trascinamento tramite il mouse.
Se tenete premuto il tasto CTRL mentre trascinate, farete una copia di quell' azione.
Potete persino usare il sistema drag-and-drop ( trascinamento tramite il mouse delle icone dell 'azioni ) fra le liste di azione per gli Objects differenti.


Quando cliccate con il tasto destro del mouse su un' azione, comparirà un menù , nel quale potete cancellare l' azione ( può anche essere fatto usando la DEL ) o copiare ed incollare quella azione.


Per cancellare l' evento attualmente selezionato insieme a tutte le relative azioni , premete il tasto Delete ( cancellazione ).
( gli eventi che non hanno alcune azioni saranno cancellati automaticamente quando chiuderete la finestra di dialogo delle proprietà dell' object , in questo modo non occorrerà cancellarle manualmente ).

Se desiderate assegnare le azioni ad un evento differente ( per esempio, perché avete deciso di usare un tasto della tastiera differente per loro ) premete il tasto Change ( cambiamento ) e selezionate il nuovo evento desiderato ( però quel' evento non dovrebbe già essere presente! ) .

Quando tenete il vostro mouse a riposo sopra un'azione, una descrizione più lunga viene visualizzata ( guardate il capitolo seguente per più informazioni sulle azioni ).

Come indicato sopra, per aggiungere un evento, premete il tasto Add Events. Comparirà questa finestra di dialogo degli Events :



Descrizione degli Events :



Create events ( evento della creazione ) :

questo evento accade quando un' instances dell' object viene creata ( generata ).
È usato normalmente per regolare ( settare ) le instances nel movimento e/o per regolare determinate variabili di queste.
Tutto ciò che accadrà come prima cosà ad un object è dovuto alle azzioni presenti in questo evento.






Destroy events ( evento della distruzione ) :

questo evento accade quando l' instances di un object viene distrutta.
Per essere precisi, tramite questo evento si potrà dare delle azzioni le quali accadranno appena prima della distruzione , in modo tale che l'instance è ancora presente quando l'evento è eseguito!
La maggior parte del tempo , questo evento non viene utilizzato ma potete per esempio usarli per cambiare il punteggio ( score ) o per generare un certo altro oggetto.

Per esempio in un videogames con una nave spaziale che spara contro i nemici , quando quest' ultimi verranno colpiti si distruggeranno.
Nel destroy events del nemico si potrebbe inserire l' action dello score , che farà aumentare il punteggio nella partita , oppure far sentire un suono di un' esplosione.






Alarms events ( evento degli allarmi ) :

ogni instance ha 8 orologi di allarme.
Potete regolare questi orologi di allarme usando determinate alarm clock presenti nel menù degli Actions-icons ( veda il capitolo seguente ).
L'orologio di allarme farà un conto alla rovescia fino che non raggiunge lo zero , a questo punto verrà generato l' evento dell' allarme e quindi le relative azioni .

Gli orologi di allarme sono molto utili. Potete usarli per far accadere determinate cose di tanto in tanto.

Per esempio un monster ( nemico ) può cambiare la sua direzione, ogni 20 steps ( circa 20 millesecondi ).
Per far ciò mettiamo un alarm clock ( alarm 0 ) presente nella Actions list del Create event con uno steps pari a 20.
Nell 'Alarms events ( alarm 0 ) inseriremo un ulteriore alarm clock ( alarm 0 ) sempre con 20 steps.
Logicamente vi sarà possibile regolare il quantitativo di steps in un allarme .






Step events ( passi ) :

Come si nota nell' immagine di questo evento , sono raffigurate 2 impronte di passi .
Infatti il tempo che trascorre durante il gioco è segnalato e calcolato in STEP.
Questo tipo di evento avviene ripetutamente durante il gioco.
Qui potete mettere le azioni che devono essere eseguite continuamente.
Per esempio, se un object segue un altro, qui potete adattare il senso di movimento verso l' object che deve essere seguito.
In questo modo ogni qualvolta che quel object cambia direzzione , immediatamente l' altro object lo seguirà.

Fate attenzione con questo evento .
Non inserite in esso troppe azioni complicate degli objects di cui sono presenti molti instance nel gioco .
Infatti questo potrebbe rallentare il vostro gioco .


Per essere più precisi, esistono tre tipi differenti di step events .
Normalmente utilizzererete soltanto il normal step event ( evento normale dello step ).
Ma usando il menu potete anche selezionare begin step event ( l' evento di inizio ) e l' end step event ( l' evento di conclusione ) .
  1. Il begin step event ( evento d' inizio ) è eseguito al principio di ogni step, prima che tutti gli altri eventi avvengano.
  2. Il normal step event ( evento normale dello step ) è eseguito appena prima che le instances cambino posizioni.
  3. L' end step event (evento di conclusione ) è eseguito alla conclusione dello step , appena prima del drawing ( illustrazione disegno ).
    Per esempio viene utilizzato per cambiare lo sprite secondo il senso corrente di direzione.







Collision events ( eventi di scontro ) :

Ogni volta che due instances si scontrano ( cioè la loro sovrapposizione degli sprites ) un evento di scontro compare.
E' meglio che vi sia un evento di scontro per ogni instances.
L' instance può reagire a questo evento di scontro.
Quando inserirete un evento di collisione automaticamente si aprirà il menu dove potete selezzionare l' object con il quale desiderate definire l'evento di scontro.
Dopo disponete le relative action-icons ( azioni ) che vorrete far eseguire a collisione avvenuta.

C' è una differenza in quello che accadrà quando un' instance si scontra con un object solido anzichè con un object non-solido.
In primo luogo, quando non ci sono action ( azioni ) nell' evento di scontro, nulla accadrà.
L' instance corrente manterrà semplicemente la direzione; anche quando l' altro object è solido.
Quando l' evento di scontro contiene delle action ( azioni ) , accadrà ciò che segue :
  1. Quando l' altro object è solido, l' instance è disposta ( salterà ) indietro al relativo precedente posto ( prima che lo scontro accada ) .
    Quindi l'evento è eseguito. In fine , l' instance è spostata verso la relativa nuova posizione.
    Così se l' evento per esempio inverte il senso di movimento, l' instance rimbalzerà contro la parete senza fermarsi.
    Se c' è ancora un' ulteriore scontro ( collision ), l' instance è mantenuta al relativo precedente posto.
    Così smetterà di muoversi.
  2. Quando l' altro oggetto non è solido, l' instance non è rimessa.
    L'evento è eseguito semplicemente con l' instance alla relativa posizione attuale.
    Inoltre, non ci sarà un secondo controllo per uno scontro.
    Se pensate a questo proposito, questa è la cosa logica che dovrebbe accadere.
    Poiché l' object non è solido, possiamo muoverci semplicemente sopra di esso.
    L' evento li informa che questo sta accadendo.


Ci sono molti usi per l' evento di scontro.
Le instances possono usarli per rimbalzare contro le pareti , per distruggere l' object quando per esempio viene colpito da una proiettile , ecc.






Keyboard events ( eventi della tastiera ) :

Quando il giocatore preme un tasto della tastiera ( key ) , un evento della tastiera accade per tutte le instances di tutti gli objects .
Esiste un evento differente per ogni ( key ).
Nel menu potete selezionare il tasto per cui desiderate definire l' evento della tastiera e le azioni seguenti di resistenza.
Chiaramente, soltanto alcuni oggetti hanno bisogno degli eventi per soltanto alcuni tasti ( key ).
L' evento accadrà finchè il giocatore mantiene premuto il tasto.

Ci sono due eventi speciali della tastiera.
  1. Il primo è chiamato No Key ed accade ad ogni step quando nessun tasto viene premuto.
  2. Il secondo è denominato Any key ed accade ogni qual volta viene premuto un tasto qualsiasi.


Quando il giocatore preme molti tasti, gli eventi per tutti quei tasti accadranno.
Si noti che i tasti presenti sulla tastiera numerica producono soltanto gli eventi corrispondenti quando viene premuto NumLock .






Mouse events ( eventi del mouse ) :

Il mouse event accade per un' instance , ogni volta che il cursore del mouse si trova all' interno dello sprite che rappresenta l' instance.
Vi sono diversi eventi per ogni tasto del mouse ( il tasto sinistro , il tasto destro ed il tasto centrale ) ed uno per quando non viene premuto alcun tasto ( no button ) .

  1. Gli mouse button events ( eventi del tasto del mouse ) sono generati finchè ad ogni step il giocatore mantiene il tasto del mouse premuto.
  2. Gli press events sono generati soltanto una volta quando il tasto è premuto.
  3. Gli release events ( eventi del rilascio ) sono generati soltanto quando il tasto è liberato ( rilasciato ).


Si noti che questi eventi accadono soltanto quando il mouse è sopra l' instance.
Se desiderate reagire agli press o release events ad un posto arbitrario, utilizzate preferibilmente global press e global release events .

Ci sono due eventi speciali del mouse :

  1. Il mouse enter , l' evento accade quando il mouse entra nello sprite dell' instance .
  2. mouse leaves , l' evento accade quando il mouse lascia l' instance ( esce dallo sprite dell' instance ).


Questi eventi sono usati tipicamente per cambiare l'immagine o per far suonare un determinato suono.

Infine ci sono un certo numero di eventi relativi al joystick.
Potete indicare le actions ( azioni ) per i quattro sensi di direzione principali del joystick ( in un senso diagonale entrambi gli eventi accadono ).
Inoltre potete definire le azioni per 8 tasti del joystick. Potete fare ciò per un joystick primario ed anche per un joystick secondario.






Other events ( Altri eventi ) :

Ci sono un certo numero di altri eventi ( riportati in questo menu ) che possono essere utili in determinati giochi :

  1. Outside ( fuori della room ) : questo evento accade quando l' instance si trova completamente fuori della stanza ( room) .
    Di solito utilizzato tipicamente come buon momento per distruggere l' instances.
    Per esempio se un proiettile sparato da una nave esce dal stanza del gioco , non essendo più utile al gioco stesso , si potrebbe inserire , in questo evento , l' action del instance destroy ( distruzione del proiettile) , in questo modo non esisterà più.
  2. Boundary ( Contorno ) : Questo evento accade quando l' instance di un object interseca il contorno della stanza ( room ).
  3. Game start ( Inizio del gioco ) : questo evento accade per tutte le instances nella prima stanza ( room ) quando il gioco comincia.
    Accade prima del room start event ( veda sotto ) ma dopo gli creation events delle instances presenti nella room.
    Questo evento è definito tipicamente soltanto un "regolatore" dell ' object ed è usato di solito per iniziare una determinata musica di sottofondo e per inizializzare alcune variabili, o carichi di alcuni dati.
  4. Game end ( Termine del gioco ) : l'evento accade a tutte le instances quando il gioco si conclude.
    In genere appena un object definisce ancora questo evento.
    Per esempio è usato per memorizzare determinati dati in un file.
  5. Romm start ( Inizio del livello o stanza) : questo evento accade inizialmente per tutte le instances presenti in una room quando la room stessa comincia.
    Accade dopo gli creation events ( eventi della creazione ) .
  6. Room end ( Termine del livello o stanza ) : questo evento accade a tutte le instances attuali quando la room si conclude.
  7. No more lives ( termine di tutte le vite ) : GM ha un sistema denominato built-in lives.
    C' è un' action ( azione ) per regolare e cambiare il numero di vite.
    Ogni volta che il numero di vite si transforma in inferiore o uguale a 0, questo evento accade.
    È usato tipicamente per concludere o ricominciare il gioco.
  8. No more health ( termine di tutta l'energia ) : GM ha un sistema incorporato dell' energia.
    Esiste un' action ( azione )per regolare e cambiare l' energia.
    Ogni volta che l' energia diviene inferiore o uguale a 0, questo evento accade.
    È usato tipicamente per ridurre il numero di vite o per ricominciare il gioco.
  9. End of animation ( Conclusione della animazione) : come indicato sopra, un' animazione consiste in un certo numero di immagini che sono visualizzate una dopo l' altra.
    Dopo che l' ultima viene visualizzata , l'animazione ricomincia dalla prima immagine.
    L' evento accade precisamente in quel momento.
    Questa funzione può essere usata per esempio per cambiare l' animazione, o distrugge l' instances.
    Esempio : pensiamo ad un mostro che viene colpito da un proiettile , a questo punto potremmo far visualizzare un' animazione di quel mostro che si accascia a terra.
    Terminata tale animazione faremo distruggere l' instances di quel mostro.
  10. End of path ( Termine del percorso ) : questo evento accade quando l' instances segue un percorso ( path ) e l' estremità del percorso è raggiunto.
  11. User defined ( Utente definito) : ci sono otto di questi eventi .
    Non accadono normalmente mai a meno che voi stessi li denominiate da una parte del codice.







Drawing event ( eventi del disegno ) :

Le instances , una volta visibili, disegnano il loro sprite sullo schermo ad ogni step .
Quando inserite delle actions nell' evento di disegno, ( drawing event ) lo sprite non viene più disegnato , ma queste action vengono eseguite .
Ciò può essere utilizzato per disegnare qualcos' altro che non lo sprite di quella instance, oppure per fare dei cambiamenti ai parametri del suo sprite.
Ci sono un certo numero di action di disegno specifiche per l' evento del disegno.
Si noti che l'evento del disegno ( drawing event ) è eseguito soltanto quando l' oggetto è settato come visibile .
Inoltre tenete in considerazione che indipendentemente da che cosa l' instance disegni ( tramite questo evento ), gli eventi di scontro ( collision event ) sono sempre basati sullo sprite associato all' instance.






Key press events ( eventi dei tasti premuti ) :

Questo evento è simili al keyboard event ( evento della tastiera ) ma anzichè continuamente , accade soltanto una volta quando il tasto è premuto .
Ciò è utile quando desiderate che accada un' action soltanto una volta.






Key release events ( eventi dei tasti rilasciati ) :

Questo evento è simili al keyboard event ( evento della tastiera ) ma accade soltanto una volta quando il tasto viene rilasciato, piuttosto che continuamente.




In una certa situazione è importante capire l' ordine in cui GM esegue gli eventi :

  1. Begin step events
  2. Alarm events
  3. Keyboard, Key press, and Key release events
  4. Mouse events
  5. Normal step events
    ( now all instances are set to their new positions )
    ( ora tutti le instances sono regolate alle loro nuove posizioni )
  6. Collision events
  7. End step events
  8. Drawing events





Gli eventi create ( creazione ), destroy ( distruzione ) e l' other events , vengono effettuati quando le cose corrispondenti accadono.



PAGES and MANUALS
PAGINE e MANUALI




AFFILIATI :