- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Oggetto button (duplicato)
-
grande FLEP :re:
ehm 1 piccolo problema .... l'oggetto clips in realtà ha al suo interno un oggetto button (che viene duplicato in automatico al duplicate del MC che lo contiene ...)
-
@Flep said:
> var Strings:Array=new Array('http://www.flepstudio.com','http://www.actionscript.ws','http://www.adobe.com'); for(var i:Number=0;i<Clips.length;i++) { Clips*.onPress=function():Void { getURL(Strings*); } } >``` Quella parte di codice dove la scateno ?????:? [click here for my problem ](http://www.ckacademy.it/default.html):D thanks
-
dentro l'array gli metti quel bottone
-
@Gandalf said:
Quella parte di codice dove la scateno ?????:? click here for my problem
thanksIn che senso ?
-
Io non ho un oggetto BUTTON dentro un MClip ... dopo aver duplicate per bene tutti i MClips ... mi ritrovo a dover far puntare ogni singolo BUTTON ad una URL diversa ... l'oggetto BUTTON si autoduplica da solo al duplicate del MClip che lo contiene .....
function CaricaDownloads() { var LoadDwn:LoadVars; //Array per gli url (file da scaricare) var ArrUrls:Array; //Array per le righe var ArrDwn:Array; ArrDwn = new Array(); ArrUrls= new Array(); LoadDwn = new LoadVars(); LoadDwn.onLoad = function(success) { var Dwn_Tot:Number = LoadDwn.totDwnl; var path:String= "./public/downloads/" var nomeFile:String; var estensioneFile:String; var iconX:Number = -25; // coordinata X delle icone var iconY:Number = 74; // coordinata Y delle icone _root.Wind_Downloads_mc.N_Downloads.text = "Total downloads --> "+Dwn_Tot; for (n=1; n<=Dwn_Tot; n++) { mc = _root.Wind_Downloads_mc.MainCointener_mc.CointFiglio_mc.SingleDownl_mc.duplicateMovieClip("SingleDownl_mc"+n, n); mc._y = ((mc._height*n)-90); nomeFile=LoadDwn["NomeFile"+n]; //Icone in base a estensione file estensioneFile = LoadDwn["fExt"+n]; switch (estensioneFile) { case "xls" : var xlsIco:MovieClip = mc.createEmptyMovieClip(xlsIco, mc.getNextHighestDepth); xlsIco.loadMovie("./images/ICO_XLS.jpg", mc); xlsIco._x = iconX; xlsIco._y = iconY; break; case "doc" : var docIco:MovieClip = mc.createEmptyMovieClip(docIco, mc.getNextHighestDepth); docIco.loadMovie("./images/ICO_DOC.jpg", mc); docIco._x = iconX; docIco._y = iconY; break; case "pdf" : var pdfIco:MovieClip = mc.createEmptyMovieClip(pdfIco, mc.getNextHighestDepth); pdfIco.loadMovie("./images/ICO_PDF.jpg", mc); pdfIco._x = iconX; pdfIco._y = iconY; break; //End Switch Icone } **ArrDwn.push(_root.Wind_Downloads_mc.MainCointener_mc.CointFiglio_mc.SingleDownl_mc.BttnDownload_ist);** ** ArrUrls.push(path+nomeFile+"."+estensioneFile);** mc.AddDate.text = LoadDwn["AddDate"+n]; mc.ModDate.text = LoadDwn["ModDate"+n]; mc.Descrizione.text = LoadDwn["Descrizione"+n]; mc.Autore.text = LoadDwn["Autore"+n]; } **for(var c:Number=0;c<ArrDwn.length;c++){** ** ArrDwn.onPress=function():Void** ** {** ** trace("Percorso completo = "+path+nomeFile+"."+estensioneFile);** ** getUrl(path+nomeFile+"."+estensioneFile);** ** }** ** }** }; LoadDwn.load("ReadDownload.asp"); }
non succede nulla non mi esegue le righe (in grassetto nero) ....
-
@Gandalf said:
Io non ho un oggetto BUTTON dentro un MClip ... dopo aver duplicate per bene tutti i MClips ... mi ritrovo a dover far puntare ogni singolo BUTTON ad una URL diversa ... l'oggetto BUTTON si autoduplica da solo al duplicate del MClip che lo contiene .....
Appunto, scusa ma il codice che ti ho dato fa proprio quello. Cioè fai il push nell'array dellaclip che duplichi. Poi ad esempio se ti serve arrivare al bottone dentro quella clip basta recuperalro con la giusta path:Clips*.myButton.getURL('Strings*');
-
@Flep said:
Poi ad esempio se ti serve arrivare al bottone dentro quella clip basta recuperalro con la giusta path:
> Clips*.myButton.getURL('Strings*'); >``` Giusto era quello che mi mancava .... sapere di arrivare ad un sotto-oggetto anke da un Array :sbav: grazie FLEP. Segue..... (problema)
for(var c:Number=0;c<ArrDwn.length;c++){
ArrDwn.BttnDownload_ist.onRelease=function():Void
{
trace("C="+c); // il trace restituisce 5 .... troppo tardi
trace("Percorso completo = "+ArrUrls);
//getUrl("<A href="http://"+ArrUrls[c">http://"+ArrUrls);
}
}Flep sembra che il contatore c nel ciclo si trovi alla fine quando eseguo la riga getUrl(blablabla + ArrUrls); che faccio uso un altra var x:Number ?
-
Prova ad inserire break; dopo la riga del getURL.
Altrimenti devi assegnare un id al bottone che premi, cioè assegnare una proprietà in runtime al bottone, ma coi bottoni non puoi farlo perchè l classe Button non è dinamica.
Dovresti utilizzare delle movieclips al posto dei bottoni.
-
c'è nessuno ? non riesco a venirne fuori ... stò impazzendo !!!! :s
thanks
-
@Flep said:
Prova ad inserire break; dopo la riga del getURL.
Altrimenti devi assegnare un id al bottone che premi, cioè assegnare una proprietà in runtime al bottone, ma coi bottoni non puoi farlo perchè l classe Button non è dinamica.
Dovresti utilizzare delle movieclips al posto dei bottoni.aarghhhh ......... ma se faccio cambia tipo di oggetto, da button a movieClip da Flash, funziona .... o devo rifare tutto da zero ... ?
P.S.
A questo punto mi chiedo a cosa servono + gli oggetti Button se il MovieClip lo sostituisce in tutto e per tutto ....
-
Button esiste solo per semplificare tempi e animazioni dei bottoni.
Per applicazioni serie e importnti non lo si usa mai (almeno io).Dovresti cambiare i bottoni, se li converti in movieclips dipende dall'animazione che hanno...
-
Ok ... convertito ... solo che ora mi manca tanto l'evento MouseOver ... e MouseOut ... dove cambiamo il valore dell'._alpha al bottone ... come posso ovviare nel MovieClip ?
Il cursore a forma di manina ok .... fatto ma gli eventi di sopra ... qualche escamotage ?
thnks
-
on (rollOver) { this._alpha=30; }
ogni tanto mi perdo in un bicchier d'acqua ...
-
@Flep said:
.... , ma coi bottoni non puoi farlo perchè l classe Button non è dinamica.
Dovresti utilizzare delle movieclips al posto dei bottoni.//ArrDwn = Array coi MC dentro //ArrUrls = Array coi percorsi su cui puntare ... //BttnTraspr_mc = istanza del mc che sostituisce // il vecchio bottone for (var c:Number = 0; c<ArrDwn.length; c++) { ArrDwn.BttnTraspr_mc.onRelease = function():Void { trace("C="+c); trace("Percorso completo = "+ArrUrls); getURL(ArrUrls); }; }
ehm .... manco i trace mi fà .... sembra non eseguire per nulla il ciclo !!!!! Come se lo saltasse ...
-
Controlla
ArrDwn.length
-
@Flep said:
Controlla
ArrDwn.lengthfor (var c:Number = 0; c<ArrDwn.length; c++) { trace("Lunghezza ArrDwn = "+ArrDwn.length); ArrDwn.BttnTraspr_mc.onRelease = function():Void { trace("C="+c); trace("Percorso completo = "+ArrUrls); getURL(ArrUrls); }; }
ripete per 5 volte questo : Lunghezza ArrDwn = 5
P.S.
Se tolgo ArrDwn**.BttnTraspr_mc**.onRelease cioè se scrivo solo ArrDwn.onRelease funzia ....
-
Dipende dalle paths che hai messo...
-
no quelle funzionano ... funzionavano anke prima quando avevo un button al posto della movieclip ... il problema sembra relativo alla movieclip che simula il bottone trasparente ma non capisco in quale modo !!!!
-
ecco il rigo infame .... avevo messo questa action per far venir fuori il cursore a forma di mano e forse contrastava con la function definita nel codice di prima
onRelease=function(){}
scusate all