Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543

    [as3] ritornare un array

    var infoMp3:Array = new Array();
    function ParseMp3():Array {
    for (var i:int = 0; i < 4; i++) {
    infoMp3[i]= nome+" " +i;
    }
    return infoMp3;
    }
    mi sfugge qualcosa? perchè non va? io con java faccio così...non dovrei programmare in AS3 prima di comprarmi una guida ma è una esigenza sporadica
    grazie per tutte le risposte

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    facciamo che posto tutto il codice interessato senza cambiare nulla e spero che sta notte mi venga l'illuminazione (o un vvostro consiglio):P
    codice:
    var infoMp3:Array = new Array();
    var xmlLoader:URLLoader = new URLLoader();
    var xmlData:XML = new XML();
    xmlLoader.load(new URLRequest("music.xml"));
    xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
    
    function LoadXML(e:Event){
      xmlData = new XML(e.target.data);
      var idList:XMLList = xmlData.brano.id;  
      var dispList:XMLList = xmlData.brano.disp;  
      var minuList:XMLList = xmlData.brano.minu;
      for (var i:int = 0; i < idList.length(); i++){
    	  var idElement:XML = idList[i];	  
    	  var dispElement:XML = dispList[i];	  
    	  var minuElement:XML = minuList[i];
    	  var idElemento:String = idElement;
    	  var nomemp3:Array = idElemento.split(".");	  
    	  var minuElemento:String=minuElement;	  
    	  var dispElemento:String=dispElement;
    	  infoMp3[i]=[nomemp3[0], minuElemento, dispElemento];
      }
      trace(infoMp3);
      trace("-----------");
      return infoMp3 as Array;
    }
    trace(infoMp3);
    P.S: l'as3 è molto poco documentato in internet rispetto a molti altri linguaggi

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Non puoi far restituire un valore a quella funzione, poichè viene richiamata da un evento asincrono, di cui non puoi controllare il momento di esecuzione.
    Se vuoi eseguire delle azioni legate al "riempimento" di quell'array e, ad esempio per ordine di lettura, non vuoi scrivere tutto il codice dentro a quella funzione, puoi utilizzare un EventDispatcher dentro alla funzione che venga richiamata una volta che viene riempito l'array.

  4. #4
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    chiaro! grazie mille ma optato per passare il valore a una funzione che poi mi esegue il codice...una sorta di main()

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

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.