Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    gotoAndPlay su etichetta inesistente

    Sono ancora qui!

    Assodato che gotoAndPlay a run time non accetta variabili per la scena, su consiglio dei guru ho deciso di utilizzare una etichetta per la scena da raggiungere e chiamare questa tramite variabile.

    Quindi ho definito le seguenti etichette per frame:

    "Scena1" -> Primo fotogramma della Scena 1
    "Scena2" -> Primo fotogramma della Scena 2
    "Scena4" -> Primo fotogramma della Scena 4


    Ma che succede così?

    codice:
    VaiAllaEtichetta="Scena3";
    gotoAndPlay(VaiAllaEtichetta);
    Semplice... non va da nessuna parte! Ignora semplicemente l'istruzione...

    E allora: esiste un metodo per verificare l'esistenza di una etichetta?

    Qualcosa tipo:

    codice:
    VaiAllaEtichetta="Scena3";
    if Exist(VaiAllaEtichetta)  gotoAndPlay(VaiAllaEtichetta);
    else gotoAndPlay("Scena1");

    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  2. #2
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    A me invece funziona perfettamente

    Ho creato sullo stage un mc istanziato mc1, poi ho creato un'altra scena [nella quale ho disegnato un quadrato] ed ho associato al suo primo fotogramma l'etichetta Scena3.
    Sono tornato nella prima scena, ed ho scritto sul fotogramma il seguente codice:

    codice:
    stop();
    var vaiAllaEtichetta:String="Scena3";
    mc1.onPress = function() {
    	gotoAndStop(vaiAllaEtichetta);
    }
    Quando testo il filmato e faccio clic sul mio mc1 vengo portato correttamente alla scena giusta e vedo il quadrato che ci avevo disegnato...

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da gobbo89
    A me invece funziona perfettamente
    credo che intendesse un'altra cosa

    @NoR: ho paura che non esista un comando del genere il metodo gotoAndPlay non restituisce nessun risultato, non è quindi possibile evincere se questo venga portato a termine

    quello che si potrebbe fare è verificare se dopo TOT tempo il frame è ancora lo stesso da cui si era lanciato il comando, e in tal caso mandare alla "Scena1" come nel tuo ELSE

    codice:
    VaiAllaEtichetta="Scena3";
    framecorrente = _currentframe;
    gotoAndPlay(VaiAllaEtichetta);
    a = setInterval(function(){
    			clearInterval(a);
    			if(framecorrente == _currentframe){
    				gotoAndPlay("Scena1");
    			}
    		}, 200);
    ovviamente bisogna fare massima attenzione a come si utilizza setInterval, perchè se ad esempio associ il codice ad un pulsante, questo schiacciato un paio di volte in successione manderebbe in palla il sistema, per questo è sempre meglio bloccare i pulsanti quando viene eseguito codice ridondante

  4. #4
    Sempre presente, eh Andrea! Grazie!

    Allora: ho scoperto che Flash gestisce le eccezioni come il C++ con try e catch, ma in questo caso gotoAndPlay sembra non lanciare eccezioni...

    Codice PHP:
    try {
        
    gotoAndPlay(this.toScene);
    } catch(
    err) {
        
    trace("preso"); //Questa riga non viene cmq mai eseguita!!!

    Il tuo metodo è di un po' difficile implementazione perché come mi fai notare, se un utente, non vede cambiamenti alla scena, che fa? Riclicca... con conseguente rischio per il setInterval che va fatto come si deve... ecc... ecc...

    Cmq se non altro la tua è già una idea funzionante! Per il momento non implementerò la scena di default, ma resto a pensarci ancora un po' su!

    Suggerimenti?
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  5. #5
    Originariamente inviato da gobbo89
    ... ed ho associato al suo primo fotogramma l'etichetta Scena3 ....
    Ma se tale etichetta non l'avessi messa? (vuoi per dimenticanza o semplicemente perché la variabile vaiAllaEtichetta ad un certo punto contiene "adfasqwet"!!!).
    La mia domanda è: esiste un modo per sapere se una etichetta è stata definita, prima di provare ad andarci?
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  6. #6
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Ok ok ho capito, non avevo letto bene
    Aspetta che ci penso...[xò se and ha detto che non si può fare mi sa che non si fa ]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.