- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Url da file esterno
-
Ok allora, ho un file .fla che ha all'interno una seri di pulsanti. Se vado nel pannello azioni e metto on(release){ getURL("http://url.it","_parent"); } mi apre correttamente miourl.it. Ora vorrei fare in modo che prendesse questo url da un file esterno, ad esempio txt, come url1=http://www.url1i.com&url2=http://www.miourl2.it ecc. Ho provato con loadvariables, ma mi pare di aver capito che serve un oggetto movieclip. Nel filmato non c'era quindi ne ho creato uno, ma sia che uso il metodo loadVarbiales come metodo dell'oggetto clip creato o che faccio loadvariables(url,clip) poi non riesco a "vedere" le variabili caricate.
-
Un esempio di base sarebbe:
var url1:String; myURL = new LoadVars(); myURL.onLoad = function() { url1 = this.url1; }; myURL.load("url.txt"); btn1_mc.onRelease = function() { getURL(url1); };
-
Ok, qualcosa abbiamo fatto, ora però btn1_mc cosa sarebbe? Il nome del bottone? Io li ci ho meso il nome del bottone e non fa niente. Ho anche provato a mettere il segno di spunta su "Esporta per ActionScitp" ma non è cambiato niente...
-
btn1_mc sarebbe il nome d'istanza del pulsante (non il nome in libreria e senza l'esporta per actionscript). Seleziona il pulsante sul area di lavoro e vedi il panello di proprietà del pulsante dove troverai la casella per inserire il nome.:)
-
Grazie mille! Mi sbagliavo perchè il pulsante non aveva un nome d'istanza, aggiungendolo ora va! Grazie ancora!
-
Solo un'ultima cosa: sarebbe possibile iterare per tutti i pulsanti, oppure usare anche un qualcosa tipo array, invece di andare a copiare / incollare lo stesso codice per tutti i pulsanti? Intendo qualcosa del tipo:
foreach( pulsante in lista_pulsanti)
{
pulsante.onRelease = function() {
getURL(pulsante + "string");
};dove pulsante + "string" starebbe ad indicare la stringa estratta dal file txt letto, che si chiama appunto pulsante1string pulsante2string ecc.
-
Quel "string" avra un valore diverso per ogni pulsante, se ho capito bene.
Voglio dire, non sara chiamato sempre "string" ma tipo "string1", "string2"...
Giusto?:?
-
no era giusto per dire che è diverso dal nome del pulsante per non fare confusione. Cioè pulsante1 è l'identificatore del pulsante mentre pulsante1string indica la stringa ovvero 'url del link di quel pulsante
-
Ok, il mio dubbio è che si, si puo fare una funzione che applica la stessa azione a ogni pulsante con un array 'pulsante'. Pero se "string" deve contenire un valore differente per ogni pulsante, servira un secondo array "string valore" e "accopiare" ogni pulsante al suo valore.
Non so se mi sono spiegata per bene.:D
Ti aggiungo un pezzo di codice:
var btn_array:Array = new Array(btn1_mc, btn2_mc, btn3_mc); var url_array:Array = new Array(url1, url2, url3); btn_onRelease = function () { getURL(url_array[this.id]); }; for (var i:Number = 0; i<btn_array.length; i++) { btn_array*.id = i; btn_array*.onRelease = btn_onRelease; }
-
Grazie mille, provo subito!