u 2 – Scripting – Eventi – Elementi sul linguaggio – Costrutti di controllo flusso – Parametri impliciti – Eventi di movimento – Orientarsi nella documentazione – Array e SET Corso Multiplayer Applicazioni Multimediali Multiplayer su Web
u A ogni cosa che succede corrisponde un EVENTO u A ogni EVENTO viene generata una chiamata u A ogni chiamata, se gli corrisponde del codice, questo viene ESEGUITO
EVENTO esempi u Allinizio del gioco u Evento onStart u Se esiste onStart, viene eseguito
u EVENT id_evento u Istruzione u Istruzione.. u End_EVENT verificare Developers Ref.
EVENT Esempio u EVENT onStart u Call PopMonster() Mia funzione che fa apparire un mostro in una stanza a caso u End_EVENT
EVENTO esempi u Un personaggio viene guardato (cliccato) u Scatta levento persona.onLook u Se esiste, levento viene eseguito e stop. u Scatta levento onLook (generico) u Se esiste, levento viene eseguito.
Parametri impliciti u $OWNER – chi possiede levento equivale a this in Java u $AGENT – chi ha iniziato lazione u $TARGET – terzo attore (a volte si usa, a volte no)
EVENT Model: persona.onLook $OWNER $AGENT
EVENTO onLook Esempio SCRIPTS EVENT tizio.onLook Speak $OWNER,$AGENT,Ehi coshai da guardare?" END_SCRIPTS
u Speak [da,][dest,] frase [, frase…] u da Default è $OWNER u dest Default è $AGENT u Se ci sono più frasi vengono stampate in ciclo
Speak da così… SCRIPTS EVENT tizio.onLook Speak $OWNER,$AGENT,Ehi coshai da guardare?", Lasciami in pace! END_SCRIPTS
…a così SCRIPTS EVENT tizio.onLook Speak Ehi coshai da guardare?", Lasciami in pace! END_SCRIPTS
Valori predefiniti SYS (Voce di sistema) u Usare in da $WORLD (Tutti i giocatori connessi al gioco) u Usare in dest
EVENTO onLook Esempio SCRIPTS EVENT tizio.onLook Speak SYS,$WORLD,Il giocatore + $AGENT + guarda + $OWNER END_SCRIPTS
Object Model di CHARACTERS u Usare il punto. per fare riferimento a una proprietà Persona.nameNome della persona Persona.containerDove si trova la persona (oggetto) Persona.container.id(id della stanza) Persona.container.name (nome della stanza)
u Print [dest,] Che cosa [, che cosa…] u Print In questa stanza cè poca luce u Print OWNER= + $OWNER + AGENT= + $AGENT + TARGET= + $TARGET
Assegnazione – ricordare un valore u Compleanno = 26 Luglio u Print Compleanno 26 Luglio
If.. Else u If (condizione) –Istruzioni u Else –Istruzioni u End_If u Niente THEN u End_If e non End If
u Estrae un numero a caso da 1 a N e lo restituisce
If.. Else If RndInt(2) = 1 Print PARI! Else Print DISPARI! End_If
EVENT Model: persona.onHear $OWNER $AGENT $TARGET
Stampare i parametri impliciti u Print OWNER= + $OWNER + AGENT= + $AGENT + TARGET= + $TARGET
Vedere il log u Cartella system u File debug#.log u # = numero dello slot usato u NB.: Se non funziona rivedere impostazione debugTo= nel file worldnav#.properties
Eco di quanto detto u EVENT persona.onHear u Speak $OWNER,$AGENT,Mi hai detto: + $TARGET +, ma che significa? u END_EVENT
EVENT Model: stanza.onLoose $OWNER $AGENT $TARGET
EVENT Model: persona.onExit $OWNER $AGENT $TARGET
EVENT Model: persona.onEnter $OWNER $AGENT $TARGET
EVENT Model: stanza.onReceive $OWNER $AGENT (?) $TARGET
Consultare la Developers Reference u Come funziona DimensioneX u Configurazione u Parte Design-time (DXW) u Parte Run-Time (SmallBasic) –Object Model degli oggetti –Eventi del sistema –Funzioni disponibili –Istruzioni disponibili
1 ciao 2 hola 3 hi 4 hello arrSaluti Array
Array + RndInt(N) u arrSaluti = NewSet(ciao,hola,hello) u Speak arrSaluti(RndInt(3)) u Ciao u Hello u Ciao u Hola
bookcrownscrollsword setOggetti SET
For Each Next u For Each var In set –Istruzioni u Next u Attenzione a set e array
For Each Next + SET Print personaggi presenti: For Each x In getCharactersIn(spiaggia) Print x.name Next
u Eventi u Elementi sul linguaggio u Costrutti di controllo flusso u Parametri impliciti u Eventi di movimento u Orientarsi nella documentazione u Array e SET