Director: Timeout e uso dei Ticks.

Di: marzio82 | 26/09/2020 17:50:49
Ciao a tutti,
una funzione che mi piacerebbe utilizzare è "Timeout" ma provando e riprovando anche consultando i libri nn ci sono mai riuscito.
L'unica cosa che riesco a fare è farlo funzionare dopo 3 minuti con lo script:
on timeout
go to frame "intro"
end.
Come posso farlo ad attivare dopo 5 secondi?
Grazie in anticipo

Risposte


Usa i valori dei Ticks.

Ciao Marzio, sono appena tornato da un viaggio, ora su due piedi ti posso dire che il tempo lo puoi contare inserendo in una variabile i valori dei Ticks (che sono espressi in sessantesimi di secondo).
Vedi The Ticks nel manuale.
Io l'ho usato una volta per aspettare un tot. di tempo prima di eseguire altre operazioni e mandare in avanti la testina di riproduzione ed ha funzionato, ora vedo di riprendere lo script in archivio.
A proposito, grazie per aver risposto al messaggio dell'Alert e per la soluzione pratica (anche se possiamo fare di meglio). ;) Tu si che interpreti bene la filosofia di questo forum. ;)

Di: Pablito | 26/09/2020 17:50:49

Ecco qui come usare i Ticks per contare il tempo per una pausa, ad esempio.

Come usare The Ticks per contare il tempo.
Usa questo esempio:
- Associa al primo ed al 10 frame il comando: go to the frame
- Inserisci un bottone sul primo frame, pronto per essere usato e ben in vista sullo stage.
- Associa il seguente script al bottone appena creato sullo stage (nel primo frame):
global mytime, howlong
on mouseUp me
put the ticks into mytime
howlong = mytime + 180
-- 180 Ticks equivalgono a 3 secondi. Modificalo a piacimento.
repeat while mytime < howlong then
put the ticks into mytime
go to the frame
end repeat
if mytime >= howlong then
go the frame +9
end if
end
Finito.
Esegui il movie ed ora cliccando sul bottone Director conterà 3 secondi e poi eseguirà il comando Go The Frame+9 (in questo esempio sposterà la testina fino al frame n.10).
Oppure usando la sintassi a punto:
global mytime, howlong
on mouseUp
mytime = the ticks
howlong = mytime + 180
repeat while mytime < howlong then
mytime = the ticks
end repeat
if mytime >= howlong then
go to frame 10
end if
end

Di: Pablito | 26/09/2020 17:50:49

Timeout a tempo variabile.

Per usare il timeout puoi inserire uno script movie con questo codice:
on startMovie
the timeoutLength = 3 * 60
on timeOut
TUO CODICE
TUO CODICE
end timeOut
end startMovie
dove 3 * 60 rappresentano un ritardo di 3 secondi.
//Messaggio modificato e corretto dal moderatore. :)
//Grazie a goku.

Di: goku | 26/09/2020 17:50:49

Timeout con azione

Ho seguito le tue indicazioni e funziona benissimo.
Ora sto cercando di personalizzarlo per la mia esigenza.
Io devo inserire un filmato a full screen e dovo fare in modo che quando l'utente muove il mouse appaiono i comandi di gestione del video, mentre quando il mouse è fermo per circa 3 secondi i pulsanti scompaiono.
Ora ci provo, se avete suggerimenti o miglioramenti vi invito a scrivere.
Grazie ancora

Di: marzio82 | 26/09/2020 17:50:49

timeout per video

Ho provato a modificare il codice ma il problema che ho riscontrato è che devo inserire la funzione timeout per poter fare in modo che i pulsanti facciano come vorrei io.

Di: marzio82 | 26/09/2020 17:50:49

Missione timeOut completata.

Caro Marzio,
grazie al contributo fondamentale di Goku ti posso dire come fare, con una versione testata e potenziata. :)
1) Associa ad uno sprite (ad es. nel tuo caso quello della barra di navigazione) il seguente script:
global pos1, pos2
on enterFrame
pos1 = the mouseLoc
end enterFrame
on exitFrame me
pos2=the mouseloc
if pos2 <> pos1 then
sprite(1).visible = true
end if
end
-- sprite(1) significa lo sprite sul primo canale
-- (da modificare a seconda di dove si trova il tuo sprite dei controlli video).
2) Crea uno script del filmato con il seguente script (movie script):
on startMovie
the timeoutLength = 3 * 60
on timeOut
sprite(1).visible=false
end timeOut
end startMovie
-- 3*60 equivalgono a 3 secondi.
3) Finito, ora puoi godere del risultato.
Funziona anche quando il mouse si ferma a prendere un caffé al di fuori dello Stage.

Di: Pablito | 26/09/2020 17:51:49

Prova

Tutto ok!
Grazie mille per l'aiuto.
Spero di essere utile per altri problemi!

Di: marzio82 | 26/09/2020 17:51:49


Grazie anche a te, puoi sempre contare su questo forum, qui si risolvono i problemi e si condivide la conoscenza. Per questo 001design.it è nato ed è principalmente per questo scopo che esiste. Ciao.

Di: Pablito | 26/09/2020 17:51:49

Sprite dei bottoni in secondo piano rispetto al video.

Ho importato un video formato avi nel mio lavoro con impostazioni 800*600(le stesse del progetto), e volevo fare in modo che quando l'utente muoveva il mouse apparivano i pulsanti di controllo e che quando l'utente stava fermo i pulsanti sparivono.
Il problema è che anche se i pulsanti si trovano nel canale superiore non appaiano sul filmato ma dietro.
Grazie a tutti

Di: marzio82 | 26/09/2020 17:51:49

DTS - Direct to Stage

Ciao Marzio,
c’è un metodo molto semplice per risolvere questo problema.
Cliccando sullo sprite del file Avi, nel Property Inspector ti compaiono delle voci, scegli Avi, allora ti appaiono dei check box, deseleziona DTS (Direct to Stage) e tutto funzionerà.
Grazie a Goku.

Di: Pablito | 26/09/2020 17:51:49


Grazie ora si che va bene.

Di: marzio82 | 26/09/2020 17:51:49