Flash: chiudere sia il filmato swf che il browser

Di: frank zappa | 26/09/2020 18:33:13
Buongiorno a tutti, ho queste istruzioni nel fla:
// Frame 2 actions...
stop();
lock_mc.onEnterFrame = function ()
{
if (!this.hitTest(key_mc))
{
return;
}
_root.carica.play();
delete eval(this.onEnterFrame);
Mouse.show();
delete (eval(_root.key_mc.onRollOver));
}
;
key_mc.onRollOver = function ()
{
this.startDrag(false);
updateAfterEvent();
Mouse.hide();
this.gotoAndStop(2);
}
;
key_mc.onRelease = function ()
{
this.stopDrag();
Mouse.show();
this.gotoAndStop(1);
}
;
// Sprite 15 ('key_mc')
// Frame 1 actions...
stop();
this.hitArea = areaActiva;
this.areaActiva._visible = false;
// Frame 2 actions...
stop();
this.hitArea = areaActiva;
this.areaActiva._visible = false;
// Sprite 19 ('carica')
// Frame 1 actions...
stop();
// Frame 6 actions...
stop();
_root.loadMovie("XXX.swf");
che consentono ad un oggetto, che si "attacca" al mouse, di trascinarlo sopra una zona dell'swf e caricare (senza click) l'altro XXX.swf, io vorrei invece che anzichè caricarlo (ho deciso di non farlo), chiudere l'swf in esecuzione e l'html che lo contiene, senza click.
Cosa devo modificare, quali istruzioni sostituire?
Grazie per l'aiuto.
p.s. ho sostituito
// Frame 6 actions...
stop();
getURL("FSCommand:quit", "_self");
ma con l'html l'swf lampeggia e non si chiude nulla, lanciando invece solo il proiettore, questo si chiude

Risposte



Premetto che non ho visionato lo script,
volevo solo fare un osservazione, se chiudi la finestra del browser che contiene il movie flash, credo sia inutile scaricare anche quest'ultimo, per la finestra cerca un scriptino JavaScript.
Per lo script, se quello che vuoi ottenere è solo il trascinamento di un mc su di un altro e la chiusura del tutto, credo possa semplificare molto lo script.

Di: goku | 26/09/2020 18:34:13


Mi associo a Goku ed aggiungo che solitamente la funzione Javascript viene usata per finestre Pop-up, quindi finestre del browser secondarie. A tal fine si usa, nel codice HTML:
<!-- Commento aggiunto per non interferire con il codice della pagina del forum di 001design.it.
<a href="javascript:parent.close()">Chiudi la finestra popup tramite questo link.</a>
Fine commento aggiunto per non interferire con il codice della pagina del forum di 001design.it. -->
Nel caso di finestre principali apparirà l’alert di conferma, cosa per niente comoda ma per me inevitabile.
Chi dovesse trovare il modo per evitarlo può condividere la soluzione con noi e lo ringrazio anticipatamente.

Di: Pablito | 26/09/2020 18:34:13


Goku:
"... per la finestra cerca un scriptino JavaScript."
eccolo, trovato, funziona solo se pubblicato, mi ha fatto venire l'insonnia!:
// Frame 6 actions...
stop();
getURL("javascript:window.close();");
Goku:
"se chiudi la finestra del browser che contiene il movie flash, credo sia inutile scaricare anche quest'ultimo, Per lo script, se quello che vuoi ottenere è solo il trascinamento di un mc su di un altro e la chiusura del tutto, credo possa semplificare molto lo script."
Potresti allora suggerirmi dove intervenire, dato che caricarlo è davvero pesantuccio?
Grazie Goku per i suggerimenti (dati e per quelli probabili che scriverai...) ed anche a Pabilto.

Di: frank zappa | 26/09/2020 18:35:13


on (press) {
this.startDrag();
}
on (release, releaseOutside) {
this.stopDrag();
if (this.hitTest(_root.area)) {
getURL("javascript:window.close();");
}
}
Questo è un semplice script per il trascinamento di mc che si attiva alla pressione del mouse e disattiva al rilascio.
Il movie è composto da 2 mc, il clip trascinabile su cui è inserito lo script e l'altro costituisce l'area di contatto.

Di: goku | 26/09/2020 18:35:13


sicuramente sto sbagliando ad inserire il codice nel punto giusto; l'ho inserito nel
// Frame 2 actions
cancellando tutto quello precedente ma ed ottengo 2 errori:
**Errore** Scena=Page 1, livello=Script 0, fotogramma=2:Linea 1: Gli eventi associati al mouse sono consentiti solo per istanze di pulsanti
on (press) {
**Errore** Scena=Page 1, livello=Script 0, fotogramma=2:Linea 4: Gli eventi associati al mouse sono consentiti solo per istanze di pulsanti
on (release, releaseOutside) {
Totale errori ActionScript: 2 Errori segnalati: 2
Grazie comunque per l'interesse

Di: frank zappa | 26/09/2020 18:35:13