ciao a tutti!
sto provando a rendere dinamica la colorazione di un movieclip tramite XML e settransform.
spiego cosa sto realizzando:
- creo delle thumb da immagini caricate tramite xml.
- piazzo le immagini all'interno di movieclips.
- creo un pannellino che importa, sempre tramite xml, delle jpg con dei colori (tipo palette).
- al click sulle palette, tramite settransform, coloro i movieclip. nel file xml definisco quale codice colore è legato alla paletta cliccata.
dove sta il problema: non va![]()
e sennò che ci farei qui???
specifico: voglio usare settransform per poter giocare meglio con gli effetti alpha ecc.
uso un file xml così composto:
"image" è la .jpg della palette;codice:<?xml version="1.0" encoding="utf-8" standalone="yes"?> <images> <thumb displayNum="3" separation="5"> <image>000001.jpg</image> <description>FE0000</description> <image1>{ra: '100', rb: '0', ga: '100', gb: '128', ba: '100', bb: '255', aa: '100', ab: '50'}</image1> ... ... </images>
"description" una spiega;
"image1" è il codice che attribuisco ad una variabile in flash perchè trasformi il clip.
lettura dell'xml dentro flash:
tramite la variabile coloreEsadecimale_s vorrei che venisse riconosciuto di volta in volta il codice nell'xml e applicato. ma non funzia.codice:thumbs_cs = new XML(); thumbs_cs.ignoreWhite = true; thumbs_cs.load("colori.xml"); // qui inserire il percorso al file .XML thumbs_cs.onLoad = function() { root = this.firstChild; total = root.childNodes.length; displayNum = Number(root.childNodes[0].attributes.displayNum); separation = Number(root.childNodes[0].attributes.separation); var image_cs = root.childNodes[i].childNodes[0].firstChild.nodeValue; var image1_cs = root.childNodes[i].childNodes[2].firstChild.nodeValue; newThumb_cs.image_cs = root.childNodes[i].childNodes[0].firstChild.nodeValue; newThumb_cs.image1_cs = root.childNodes[i].childNodes[2].firstChild.nodeValue; //carico le thumbs newThumb_cs.cont_cs.loadMovie(image_cs); newThumb_cs.cont2_cs.loadMovie(image_cs); //CLICK SULLA THUMB newThumb_cs.onRelease = function() { my_color = new Color(_root.clip1.clip2); myColorTransform = new Object(); myColorTransform = (coloreEsadecimale_s); my_color.setTransform(myColorTransform); // PROVA PER SETTRANSFORM var coloreEsadecimale_s:String; coloreEsadecimale_s = this.image1_cs; trace(coloreEsadecimale_s instanceof String); trace(coloreEsadecimale_s); } };
specifico: se inserisco nel settransform il codice colore che indico nell'xml, va ma ovviamente il valore è univoco.
che il problema sia che quel che cerco di fargli leggere non è una stringa?
nel senso, il trace sulla variabile "coloreEsadecimale_s" mi da il giusto contenuto ma se gli chiedo se la variabile stessa è una stringa mi dice "false".
chiedo a voi amici se ci sono errori nello script, se sbaglio a settare qualcosa...boh.
e se avete suggerimenti su come potrei fare questa cosa, sono ben accetti!
grazie 1000 a tutti!


Rispondi quotando
per aiutare la tua mente e la mente dei nostri amici sul forum a ricordare come convertire i dati stringa XML perchè vengano letti da un oggetto color
