Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: preload di XML

  1. #1

    preload di XML

    salve,
    ho realizzato un sito interamente in flash che prende tutti i dati da un file XML.

    quello che mi interessa è caricare interamente questo file XML durante il preload del filmato (quindi prima che il movie parta), in modo che quando le animazioni partono, anche tutti i dati del file xml sono caricati e pronti per l'uso.
    Non so se è lo stesso, ma il mio timore è che succeda un problema analogo di quando si richiamano i file txt esterni, che a volte non vengono caricati ...

    ...come si ci comporta con XML?

    grazie mille!
    =======
    Daniele

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Flash 5 o mx?

  3. #3
    Flash MX!
    =======
    Daniele

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Il preloader per il filmato com'è fatto?

  5. #5
    wow che rapidità di risposta! ))

    dunque, per ora ho messo un preload molto semplice (poi magari inserirò la barra di avanzamento); per ora al primo frame c'è questo:


    if (_framesloaded==_totalframes) {
    gotoAndPlay("Scene1", 1);
    }


    dove "Scene1" contiene tutto il movie con le animazioni e i dati presi dal file XML ... poi al secondo frame:


    gotoAndPlay(1);
    =======
    Daniele

  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    preloader su un solo frame:

    codice:
    this.stop();
    
    createXML = function()
    {
    	this.mioXML = new XML();
    	this.mioXML.load("file.xml");
    	this.onEnterFrame = xmlPreloader;
    };
    
    xmlPreloader = function()
    {
    	var car = this.mioXML.getBytesLoaded();
    	var tot = this.mioXML.getBytesTotal();
    	if(car == tot){
    		delete this.onEnterFrame;
    		this.play();
    	}
    };
    
    moviePreloader = function()
    {
    	var car = this.getBytesLoaded();
    	var tot = this.getBytesTotal();
    	if(car == tot){
    		this.onEnterFrame = undefined;
    		this.createXML();
    	}
    };
    
    this.onEnterFrame = moviePreloader;

  7. #7
    GRAZIE MILLE!!! Proprio quello di cui avevo bisogno!
    =======
    Daniele

  8. #8
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    prego...

  9. #9
    esatto, ma siccome in flash non puoi leggere l'xml fnchè non è stato completamente caricato, basterebbe:

    codice:
    this.stop();
    
    createXML = function()
    {
    	this.mioXML = new XML();
    	this.mioXML.load("file.xml");
    this.mioXML._t = this;
    this.mioXML.onLoad = xmlcaricato
    };
    
    xmlcaricato = function()
    {
    		this._t.play();
    	}
    };
    
    moviePreloader = function()
    {
    	var car = this.getBytesLoaded();
    	var tot = this.getBytesTotal();
    	if(car == tot){
    		this.onEnterFrame = undefined;
    		this.createXML();
    	}
    };
    
    this.onEnterFrame = moviePreloader;

  10. #10

    Problema simile

    Ciao amici, io ho un problema anacolo (come direbbe il "terruncello" Abatantuono).
    Ho il mio bel preload del filmato "globale", in cui tengo conto anche della mia struttura XML, facendo affidamento sui metodi .getBytesLoaded() e .getBytesTotal() dell'oggetto XML. Credo però che Flash ignori bellamente questi due metodi se l'oggetto non è ancora caricato, dato che, testando on line il filmato, la prima volta la struttura XML risulta completamente assente, mentre, riprovando, il file XML è nella cache locale, e il filmato funziona. La domanda è: i metodi .getBytesLoaded() e .getBytesTotal() dell'oggetto XML funzionano solo se l'oggetto è completamente caricato, oppure devono essere gestiti in maniera particolare?
    Non ho il codice sottomano, se volete lo posto in un prossimo messaggio. Lascio comunque l'url dell'swf, se volete buttarci un'occhio: www.fasterleague.com/flash/
    Grazie mille in anticipo!
    TEORIA DELLA SUPERVISIONE SELETTIVA:
    L'unica volta in una giornata in cui vi concedete un attimo di riposo è la volta che il capoufficio vi guarda.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.