Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    Problemi con il richiamo di una classe??

    Salve il problema è il seguente, ho un file fla, al primo frame richiamo un file esterno con il codice as, il codice non fa altro che richiamare una classe che deve restituire un parametro, corrispondente al nome di un file xml, poi in base a questo parametro leggo un file xml.

    In pratica la classe legge un file xml e poi estrae in modo random un nodo di questo xml e lo dovrebbe restituire al codice as che prende questo parametro e legge un xml,il problema nasce per il fatto che quando richiamo la classe, si fa la funzione leggiListDay poi ritorna al codice as senza passare per il loadXmlDay, penso che dipenda dai tempi ma come la posso gestire questa cosa??

    Codice PHP:
    class leggiListDay 
        var 
    itemRandom:String;
        
        
        function 
    leggiListDay() { 
            var 
    intRandom:Number;
            
            var 
    arr:XML = new XML ();
            
            
    //Carica
            
    arr.ignoreWhite true;
            
    arr.onLoad = function (success) {
                
    loadXMLDay (successarr);
            };
            
            
            var 
    xml_data_file "../items/ListDay.xml";
            
            
            
    arr.load (xml_data_file);
        } 


        function 
    loadXMLDay (successarr) {
            if (
    success) {                
                var 
    rootNode arr.firstChild;
                var 
    total rootNode.childNodes.length;
                var 
    arrXML:Array = new Array();
        
                
                
                
    trace("///////////////////////////////////////////////////////////////////");
                var 
    r:Number;
                for (
    0<= total-1r++) {
                    var 
    strId:String rootNode.childNodes[r].attributes.id;
                    var 
    strRif:String rootNode.childNodes[r].attributes.rif;
                    
    arrXML[r] = {IdstrIdRifstrRif}
                    
                    
    trace("ID: " strId);
                    
    trace("ID Rif: " strRif);
                } 
                
    trace("///////////////////////////////////////////////////////////////////");
                
                var 
    intRandom randRange(0, (total-1));        //generazione di un numero random tra 0 e il numero massimo dell'array
                
                
    this.itemRandom intRandom;
            }
        }

        function 
    randRange(min:Numbermax:Number):Number {
            var 
    randomNum:Number Math.floor(Math.random() * (max min 1)) + min;
            return 
    randomNum;
        }
        
        function 
    generaRandomItem():String 
            return 
    itemRandom
        } 

    Ciao By Peter_Pan...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    up... Forse non mi sono spiegato bene.

    Volevo sapere come funzionano le chiamate alle classi, se io faccio una chiamata ad una classe che si deve preoccupare di leggere un file xml, il resto delle azioni vengono eseguite solo al termine delle operazioni contenute nella classe oppure il codice prosegue??

    Il mio problema che quando dal codice AS richiama la classe che deve leggere il file xml, con il debug vedo che va nella classe, ma senza passare dalla procedura che fa il parse del file ritorna al codice AS.... ????!!!!
    Ciao By Peter_Pan...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    facciamola più semplice, è possibile creare una classe che mi carica un file xml e mi estrae un nodo preso a caso da questo file??
    Ciao By Peter_Pan...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    Ho scritto la classe che non funziona mi ci date un occhio?

    Codice PHP:
    class leggiXML {
        var 
    xml_data_file:String "oggetti.xml";
        var 
    arrPers:String;
            
        function 
    leggiXMLP() {
            var 
    arrPersonaggi:XML = new XML ();
            
    arrPersonaggi.ignoreWhite true;
            
            try { 
                
    trace(arrPersonaggi.getBytesLoaded());
                
    arrPersonaggi.load("oggetti.xml");
                            
                
    arrPersonaggi.onLoad = function(success) {
                    
    this.loadXMLItems(arrPersonaggi);
                }
                
                
    trace("ArrPersonaggi: "+arrPersonaggi);
                
    trace("Nome file: "+this.xml_data_file);
                 throw new 
    Error("my error"); 
            } 
            catch (
    myError:Error) { 
                 
    trace("error caught: "+myError); 
            } 
            finally { 
                 
    trace("error is cleared"); 
            }
            
    arrPers "PP";
        }
        
        public function 
    testa():String {
            return 
    this.arrPers;
        }
        
        public function 
    loadXMLItems(arrPersonaggi) {
            var 
    rootNode arrPersonaggi.firstChild;
            var 
    total rootNode.childNodes.length;

            
    trace("TOTALE "total "\n");

            for (var 
    i:Number 0<= totali++) {
                if (
    rootNode.childNodes[i].childNodes[0].firstChild.nodeValue != undefined) {
                    
    trace(rootNode.childNodes[i].childNodes[0].firstChild.nodeValue);
                    
    trace(rootNode.childNodes[i].childNodes[1].firstChild.nodeValue);
                    
    trace("----------------------");
                    
                    
                }
            }
        }

    nel codice del fla chiamo così la classe:
    var leggi:leggiXML = new leggiXML();
    leggi.leggiXMLP();
    Ciao By Peter_Pan...

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.