![]() |
Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Tech (http://www.dsy.it/forum/forumdisplay.php?forumid=189)
-- problema action script flash mx (http://www.dsy.it/forum/showthread.php?threadid=21836)
problema action script flash mx
ciao a tutti, sto facendo un mp3 player con flash da inserire nel mio sito... vorrei caricare i file da un file xml ma ho dei problemi.. ecco il codice che ho scritto fin ora:
playlist = new XML();
playlist.ignoreWhite = true;
playlist.onload = function(success) {
_global.songname = [];
_global.songfile = [];
if (success) {
for (var i = 0; i<playlist.firstChild.childNodes.length; i++) {
_global.songname[i] = playlist.firstChild.childNodes[i].attributes.title;
_global.songfile[i] = playlist.firstChild.childNodes[i].attributes.path;
trace("-Titolo: '"+songname[i]+"' -Path: '"+songfile[i]+"'");
}
} else {
titolo = "Error loading XML";
}
};
playlist.load("playlist.xml");
suono = new Sound();
suono.loadSound(_global.songfile[0], false);
titolo = _global.songname[0];
x = Math.round(suono.getBytesLoaded()/suono.getBytesTotal()*100);
perc = x+"%";
_root.barra._xscale = x;
suono.onSoundComplete = suona();
function suona() {
suono.start();
}
come vedete ho usato degli array per memorizzare il titolo e il path del file mp3... solo che questi dati sono visibili all'interno del ciclo for ma al di fuori non li vede e quindi quando vado a fare
suono.loadSound(_global.songfile[0], false);
non legge _global.songfile[0] e quindi mi da errore... non capisco come mai quell'array è vuoto mentre se faccio un trace all'interno del for l'array presenta il path corretto.. help please!!!
__________________
Live Fast, Die Fun
Potrebbe trattarsi di un semplice problema di scope (anche se , essendo le variabili globali, non dovrebbero esserci problemi), prova a tirar fuori la dichiarazione dei due array dal "metodo anonimo":
code:
_global.songname = []; _global.songfile = []; playlist = new XML(); playlist.ignoreWhite = true; playlist.onload = function(success) { if (success) { for (var i = 0; i<playlist.firstChild.childNodes.length; i++) { _global.songname[i] = playlist.firstChild.childNodes[i].attributes.title; _global.songfile[i] = playlist.firstChild.childNodes[i].attributes.path; trace("-Titolo: '"+songname[i]+"' -Path: '"+songfile[i]+"'"); } } else { titolo = "Error loading XML"; } }; playlist.load("playlist.xml"); suono = new Sound(); suono.loadSound(_global.songfile[0], false); titolo = _global.songname[0]; x = Math.round(suono.getBytesLoaded()/suono.getBytesTotal()*100); perc = x+"%"; _root.barra._xscale = x; suono.onSoundComplete = suona(); function suona() { suono.start(); }
__________________
my website?|ubuntu linux|get Firefox|grazie Polonia |bagdad sour
"Come va che non ha le corna e le zampe di Caprone?" gli opposi. "Oh, Giuvà", mi disse il prete "adesso non si usa più.Satana è furbo". (I.Silone, Fontamara)
"Al giorno d'oggi non bisogna essere intelligenti, perchè la gente si offende" (un ubriacone)
"close your eyes / pay the price / for your paradise" (DM) "whatever you want to change/you'd better start changing it in your mind" (Transatlantic)
non ho capito.. potresti essre più chiaro su quello che dovrei fare?
__________________
Live Fast, Die Fun
ah si ho capito.. si ho già provato a dichiararli fuori ma non cambia niente....
__________________
Live Fast, Die Fun
Hai provato a rendere autonoma la funzione estraendola dal gestore dell'evento? Per intenderci una cosa tipo
code:
myFunction(parameters){ ... some code here... } [...] myObject.onLoad= myFunction(parameters);
__________________
my website?|ubuntu linux|get Firefox|grazie Polonia |bagdad sour
"Come va che non ha le corna e le zampe di Caprone?" gli opposi. "Oh, Giuvà", mi disse il prete "adesso non si usa più.Satana è furbo". (I.Silone, Fontamara)
"Al giorno d'oggi non bisogna essere intelligenti, perchè la gente si offende" (un ubriacone)
"close your eyes / pay the price / for your paradise" (DM) "whatever you want to change/you'd better start changing it in your mind" (Transatlantic)
se faccio così è peggio... nel trace non appare più niente..
__________________
Live Fast, Die Fun
Guarda sto andando un po' alla cieca, dovrei fare delle. prove.
Comunque fossi in te proverei ad evitare l'uso delle globali e rimarrei sul passaggio di variabili per riferimento.
__________________
my website?|ubuntu linux|get Firefox|grazie Polonia |bagdad sour
"Come va che non ha le corna e le zampe di Caprone?" gli opposi. "Oh, Giuvà", mi disse il prete "adesso non si usa più.Satana è furbo". (I.Silone, Fontamara)
"Al giorno d'oggi non bisogna essere intelligenti, perchè la gente si offende" (un ubriacone)
"close your eyes / pay the price / for your paradise" (DM) "whatever you want to change/you'd better start changing it in your mind" (Transatlantic)
adesso ti spiego: io ho un interfaccia grafica in flash con i pulsanti play, stop pause ecc... tutto questo sta in un livello.
Poi c'è il livello con il codice che ho postato, in pratica devo leggere un file xml, estrapolarne i dati in modo da salvare in un array il nome e il percorso del file mp3..
quindi per riferimento come faccio? in quel for mi serve mettere nell'array i dati in modo da poterli usare dopo... tipo se premo il tasto next devo riprodurre il file che corrisponde a array[indice++];.. se premo prev--> array[indice--] e così via...
il punto è che quell'array me lo riempe solo nel for, al di fuori me lo svuota...
__________________
Live Fast, Die Fun
Originally posted by ste182
adesso ti spiego: io ho un interfaccia grafica in flash con i pulsanti play, stop pause ecc... tutto questo sta in un livello.
Poi c'è il livello con il codice che ho postato, in pratica devo leggere un file xml, estrapolarne i dati in modo da salvare in un array il nome e il percorso del file mp3..
quindi per riferimento come faccio? in quel for mi serve mettere nell'array i dati in modo da poterli usare dopo... tipo se premo il tasto next devo riprodurre il file che corrisponde a array[indice++];.. se premo prev--> array[indice--] e così via...
il punto è che quell'array me lo riempe solo nel for, al di fuori me lo svuota...![]()
__________________
my website?|ubuntu linux|get Firefox|grazie Polonia |bagdad sour
"Come va che non ha le corna e le zampe di Caprone?" gli opposi. "Oh, Giuvà", mi disse il prete "adesso non si usa più.Satana è furbo". (I.Silone, Fontamara)
"Al giorno d'oggi non bisogna essere intelligenti, perchè la gente si offende" (un ubriacone)
"close your eyes / pay the price / for your paradise" (DM) "whatever you want to change/you'd better start changing it in your mind" (Transatlantic)
già provato.. niente...
__________________
Live Fast, Die Fun
| All times are GMT. The time now is 13:43. | Show all 10 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.