Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 37

Discussione: [MX] Shared Object

  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [MX] help Shared Object

    Chiedo scusa se ripresento ancora lo stesso problema ma non sono ancora riuscito a risolverlo. In breve ho un sito dove all'inizio si sceglie la lingua fra tre disponibili. Una volta scelta, dalla seconda volta che ci si accede dovrebbe saltare quella pagina (della scelta) e entrare nel sito. In realtà questo succede ma solo la seconda volta... infatti la terza volta che rifaccio il refresh mi fa rivedere di nuovo la pagina della lingua...
    Potreste aiutarmi a capire dov'è l'errore?
    わさび

  2. #2
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Lo script è questo:
    sul 1° frame ho queste azioni:

    lingua = SharedObject.getLocal("sharedCookie");
    if(_root.lingua.data.nome != undefined){
    if(_root.lingua.data.nome == "lingua italiana"){
    _root.selezione.backsel = "Selezione della lingua";
    _root.gotoAndStop (2);
    }else{
    _root.btndown = lingua.data.nome;
    }
    lingua.data.nome = "no selection";
    }

    Su un mc di controllo ho:

    onClipEvent (load) {
    _root.selezione._visible = 0;
    // setta invisibile il bottone enter
    // funzione per gli shared obj bandiere
    Movieclip.prototype.shaobj = function() {
    _root.lingua.data.nome = _parent.btndown;
    _root.lingua.data.nome.flush();
    };
    // funzione per i tasti delle bandiere:
    // ad es. quella italiana ha:
    Movieclip.prototype.ita = function() {
    _root.flag2._alpha = 50;
    _root.flag3._alpha = 50;
    _root.flag1._alpha = 100;
    _root.btndown = "lingua italiana";
    // _root.selezione._visible = 1;
    _root.selezione.backsel = "Selezione della lingua";
    };
    // funzione per eliminare lo shaobj
    SharedObject.prototype.rimuovi = function() {
    for (var i in this.data) {
    delete this.data[i];
    }
    };
    //
    if (_root.lingua.data.nome == "lingua italiana") {
    Movieclip.prototype.ita();
    }
    if (_root.lingua.data.nome == "nihongo") {
    Movieclip.prototype.jpn();
    }
    if (_root.lingua.data.nome == "english language") {
    Movieclip.prototype.eng();
    }
    }


    Sul tasto italiano ho associato al click:

    Movieclip.prototype.ita();
    Movieclip.prototype.shaobj();
    _root.enterbtn._visible = 1;
    //setta il bottone (mc) enter visibile
    わさび

  3. #3
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Da dove viene questo script? Guarda che no devi eseguire i metodi nell'oggetto prototype dei Movieclip:

    Movieclip.prototype.eng()

    questa è una sintassi errata..
    E poi perchè usi un movieclip di controllo?

    Prova a spiegare bene cosa succede, sia quando viene trovata la lingua, che quando non viene trovata..

  4. #4
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Lo script l'ho fatto io cercando di configurare i tutorial sul sito flash-mx.it

    Usavo la sintassi Movieclip.prototype.eng() per applicare quel blocco di istruzioni a seconda della lingua che si sceglie...

    La prima volta che si carica la pagina si vedono i tre tasti delle bandiere,
    Si clicca su uno di essi e compare il tasto per entrare nel sito,
    si clicca sul tasto entra e si cambia sezione

    La seconda volta (e le volte successive) la scelta della lingua dovrebbe skippare... e così succede, ma solo in maniera alternata ossia:

    prima volta- setto la lingua -entro
    -refresho la pagina -sono nella seconda sezione (ok)
    -refresho nuovamente -sono di nuovo nella sezione scelta della lingua (e qui non capisco perchè)
    わさび

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Intendevo:

    - entri nel filmato, e controlli il cookie
    - se c'è il cookie, chiami una funzione corrispondente alla lingua, che sposta il filmato su un altro frame
    - se non c'è il cookie, il filmato si ferma, e appaiono i tre pulsanti per la lingua:

    codice:
    SharedObject.prototype.rimuovi = function()
    {
    	for (var i in this.data)delete this.data[i];
    };
    
    lingua = SharedObject.getLocal("sharedCookie");
    
    switch(lingua.data.nome){
    	case "lingua italiana":
    		ita(); break;
    	case "nihongo":
    		jpn(); break;
    	case "english language":
    		eng(); break;
    	default :
    		enterbtn._visible = 0;
    		selezione._visible = 1;
    		
    }
    
    // ita, jpn, eng sono le funzioni che settano la lingua
    // sulla base delle informazioni recuperate dal cookie
    
    // nei pulsanti per settare la lingua:
    // (ad esempio l'italiano)
    on(release){
    	lingua.data.nome = "lingua italiana";
    	lingua.flush();
    	ita();
    }

  6. #6
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Grazie nega e scusami se non mi sono spiegato bene 0_0'

    con questo script però viene soltanto messa in evidenza la lingua che è stata cliccata in precedenza ma il filmato non passa al fotogramma2.

    Ora provo a vedere se riesco a configurarlo...
    わさび

  7. #7
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Niente da fare...
    Se inserisco lo script che mi hai detto tu, come ti ho detto in pratica vedo solo la bandiera selezionata ma il filmato non passa da se al fotogramma2.
    Io credo che questa parte di codice si debba scrivere per forza, però se la inserisco mi va direttamente al fotogramma2 e non mi permette più di tornare indietro:
    codice:
    	    if(_root.lingua.data.nome != undefined){
    		if(_root.lingua.data.nome == "lingua italiana"){
    //backsel è il testo del tasto che permette di tornare indietro
    //al fotogramma1 e scegliere nuovamente la lingua
    			_root.selezione.backsel = "Selezione della lingua";
    			_root.gotoAndStop (2);
            		}else{
    	_root.btndown = lingua.data.nome;
    				}
        }else{
            lingua.data.nome = "no selection";
       }
    わさび

  8. #8
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Se invece metto qui:
    codice:
    switch(lingua.data.nome){
    	case "lingua italiana":
    		//al posto di ita(); break;
    		_root.selezione.backsel = "Selezione della lingua";
    		_root.gotoAndStop(2);
    praticamente quando clicco sul tasto (dal fotogramma2) selezione della lingua, per tornare all'1, non me lo fa cambiare 0_0'

    Sul tasto per tornare indietro ho messo:
    codice:
    on (release) {
    _root.lingua.rimuovi();
    //scarica gli swf caricati
    unloadMovieNum(2);
    unloadMovieNum(3);
    _root.gotoAndStop (1);
    }
    わさび

  9. #9
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    non sono ancora riuscito a risolvere
    わさび

  10. #10
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    aiuto ho anche cercato di semplificare il codice ma c'è qualcosa che non va xchè è completamente sballato:
    p.s.: (i tasti delle bandiere in realtà sono mc che funzionano da tasti)

    codice:
    fscommand ("allowscale", "false");
    fscommand ("showmenu", "false");
    stop();
    
    _root.enterbtn._visible = 0;
    	// funzione per gli shared obj bandiere
    	Movieclip.prototype.shaobj = function() {
    		_root.lingua.data.nome = _root.cookie;
    		_root.lingua.data.nome.flush();
    	};
    		// funzione per i tasti delle bandiere:
    	Movieclip.prototype.ita = function() {
    		_root.flag2._alpha = 50;
    		_root.flag3._alpha = 50;
    		_root.flag1._alpha = 100;
    		_root.cookie = "lingua italiana";
    	};
    	Movieclip.prototype.jpn = function() {
    		_root.flag2._alpha = 100;
    		_root.flag3._alpha = 50;
    		_root.flag1._alpha = 50;
    		_root.cookie = "nihongo";
    	};
    	Movieclip.prototype.eng = function() {
    		_root.flag2._alpha = 50;
    		_root.flag3._alpha = 100;
    		_root.flag1._alpha = 50;
    		_root.cookie = "english language";
    	};
    	// funzione per eliminare lo shaobj
    	SharedObject.prototype.rimuovi = function() {
    		for (var i in this.data) {
    			delete this.data[i];
    		}
    	};
    
    lingua = SharedObject.getLocal("sharedCookie");
    	    if(_root.lingua.data.nome != undefined){
    			
    			//setta gli shared obj delle bandiere
    switch(_root.lingua.data.nome){
    	case "lingua italiana":
    _root.gotoAndStop(2);
    	case "nihongo":
    _root.gotoAndStop(3);
    	case "english language":
    _root.gotoAndStop(4);
    	default :
    // setta invisibile il bottone enter
    _root.enterbtn._visible = 0;
    }
    }
    わさび

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.