ciao ragazzi sto litigando un pò con l'actionscript a causa di un caricamento che sembra non funzioni...
in pratica io gli faccio prendere i parametri da xml e gli faccio caricare il file tramite loadmovie...
solo che non si vede nulla...
![]()
ciao ragazzi sto litigando un pò con l'actionscript a causa di un caricamento che sembra non funzioni...
in pratica io gli faccio prendere i parametri da xml e gli faccio caricare il file tramite loadmovie...
solo che non si vede nulla...
![]()
forse mi son spiegato male...
vi posto il codice in cui viene caricata l'immagine...
Codice PHP:
_root.createEmptyMovieClip("sfondo"+nsfondi,35+nsfondi);
trace(myarray[j].attributes.src.toString());
_root["sfondo"+nsfondi]._x=0;
_root["sfondo"+nsfondi]._y=0;
_root["sfondo"+nsfondi]._width=300;
_root["sfondo"+nsfondi]._height=200;
_root["sfondo"+nsfondi]._alpha=0;
loader.addListener(listen);
loader.loadClip(myarray[j].attributes.src.toString(),_root["sfondo"+nsfondi]);
alcune segnalazioni
ammesso che il tutto funzioni![]()
_root["sfondo"+nsfondi]._alpha=0
nsfondi che valore assume ? il tutto è posto dentro un ciclo ??
com'è legato l'indice "j" con nsfondi ??
quel 35 ?? è bene sempre parametrizzare il codice
perchè se dovessero diventare 36 i livelli che fai ??
e poi puoi scrivere in questo modo che - volendo - fai prima -
var mc:MovieClip = _root.createEmptyMovieClip("sfondo"+nsfondi,35+nsf ondi);
mc._x =
mc._y =
ecc...
Flash MX Esempi da scaricare -
Team www.BeatFly.com - render,photo,ecc.. Elements01.net - Beat Fly official Blog-
bene...
ieri non l'ho vista più questa risposta...
counque il tutto è dentro ad un ciclo for che utilizzo anche per la lettura dal xml j indica il valore dell'array in cui metto i nodi che scorro...
nsfondi viene aumentato di 1 ogni volta...
cosa intendi per parametrizzare il 35...
perchè secondo me potrebbe essere che mi mette tutti i movieclip sullo stesso livello... quindi è normale non funzioni...
ho scritto in quel modo perchè poi li devo richiamare...
posta tutto il codice
ecco il primo frame
Codice PHP:
createEmptyMovieClip("scritta1",30);
createEmptyMovieClip("scritta2",31);
createEmptyMovieClip("scritta3",32);
scritta1.createTextField("frase1",1,0,0,100,100);
scritta2.createTextField("frase1",1,0,0,100,100);
scritta3.createTextField("frase1",1,0,0,100,100);
scritta1._x = -100;
scritta2._x = -100;
scritta3._x = -100;
scritta1._y = 7;
scritta2._y = 55;
scritta3._y = 150;
scritta1._width = 100;
scritta2._width = 100;
scritta3._width = 100;
scritta1._height = 100;
scritta2._height = 100;
scritta3._height = 100;
scritta1.frase1.multiline=true;
scritta2.frase1.multiline=true;
scritta3.frase1.multiline=true;
scritta1.frase1.wordWrap = true;
scritta2.frase1.wordWrap = true;
scritta3.frase1.wordWrap = true;
filexml = "banner.xml";
var myxml = new XML();
var myarray = new Array();
var myarray2 = new Array();
var myarray3 = new Array();
var prime = new Array();
var seconde = new Array();
var terze = new Array();
var primo = 0;
var secondo = 0;
var terzo = 0;
var stile1 = new Array();
var stile2 = new Array();
var stile3 = new Array();
var nsfondi = 0;
var urlprinc = new Array("","");
var urls = new Array();
var img = new Array();
var loader = new MovieClipLoader();
var listen = new Object();
loader.addListener(listen);
listen.onLoadComplete = function(){
play();
trace("caricato");
};
listen.onLoadError = function(){
trace("errore");
};
myxml.load(filexml);
myxml.onLoad = function(success)
{
if(success){
myarray3 = myxml.childNodes;
for (var x = 0; x < myarray3.length; x++)
{
if (myarray3[x].nodeName == "elementi"){
urlprinc[0] = (myarray3[x].attributes.url.toString());
urlprinc[1] = (myarray3[x].attributes.target.toString());
link.onPress = function() {
getURL(urlprinc[0],urlprinc[1]);
};
myarray = myarray3[x].childNodes;
for (var j = 0; j < myarray.length; j++)
{
if (myarray[j].nodeName == "scritta"){
myarray2 = myarray[j].childNodes;
urls.push(myarray[j].attributes.url,myarray[j].attributes.target)
for (var i = 0; i < myarray2.length; i++){
if (myarray2[i].nodeName == "frase1") {
prime[primo] = myarray2[i].firstChild.toString();
stile1[primo] = new Array(myarray2[i].attributes.font.toString(),myarray2[i].attributes.size,myarray2[i].attributes.color,myarray2[i].attributes.bold,myarray2[i].attributes.italic,myarray2[i].attributes.url,myarray2[i].attributes.target);
primo++;
}
if (myarray2[i].nodeName == "frase2") {
seconde[secondo] = myarray2[i].firstChild.toString();
stile2[secondo] = new Array(myarray2[i].attributes.font.toString(),myarray2[i].attributes.size,myarray2[i].attributes.color,myarray2[i].attributes.bold,myarray2[i].attributes.italic,myarray2[i].attributes.url,myarray2[i].attributes.target);
secondo++;
}
if (myarray2[i].nodeName == "frase3") {
terze[terzo] = myarray2[i].firstChild.toString();
stile3[terzo] = new Array(myarray2[i].attributes.font.toString(),myarray2[i].attributes.size,myarray2[i].attributes.color,myarray2[i].attributes.bold,myarray2[i].attributes.italic,myarray2[i].attributes.url,myarray2[i].attributes.target);
terzo++;
}
}
}
if (myarray[j].nodeName == "immagine"){
trace(_root.createEmptyMovieClip("sfondo"+nsfondi,getNextHighestDepth()));
trace(myarray[j].attributes.src.toString());
_root["sfondo"+nsfondi]._x=0;
_root["sfondo"+nsfondi]._y=0;
_root["sfondo"+nsfondi]._width=300;
_root["sfondo"+nsfondi]._height=200;
_root["sfondo"+nsfondi]._alpha=0;
trace(loader.loadClip(myarray[j].attributes.src.toString(),_root["sfondo"+nsfondi]));
trace(myarray[j].attributes.src.toString()+" sfondo"+nsfondi);
nsfondi++;
}
}
}
}
gotoAndPlay(2);
}
};
stop();
e questo è il secondo
Codice PHP:
if (nsfondi==0)
{
GotogotoAndPlay(4);
}
trace("nsfondi = "+nsfondi );
if(nf == undefined){
nf=0;
sfondo=0;
}
else {
nf++;
}
trace("sfondo = "+sfondo );
trace(nf);
if(nf<20)
{
_root["sfondo"+sfondo]._alpha += (100-_root["sfondo"+sfondo]._alpha)/2;
trace("sfondo"+sfondo+" alpha= "+_root["sfondo"+sfondo]._alpha);
}
if((nf>30) && (sfondo < nsfondi-2))
{
_root["sfondo"+sfondo]._alpha += (0-_root["sfondo"+sfondo]._alpha)/2;
trace("sfondo"+sfondo+" alpha= "+_root["sfondo"+sfondo]._alpha);
}
if(nf>55)
{
if(sfondo < nsfondi-2){
sfondo++;
nf=0;
}
else{
gotoAndPlay(4);
}
}
analizzo la prima parte e vedo che dai devi valori di Y che vanno in contrasto con le dimensioni di altezza 100
7, 55, 150 mentre dovrebbero essere 100, 200, 300
cmq
iniziamo tutta la prima parte la potresti sostituire con un bel ciclo di inizializzazione
// ------------------------------------- INIZIO -----------------------
space = 10
Wclip = 100
Hclip = 100
for(I=1;I<4;I++){
var mc:MovieClip = this.createEmptyMovieClip("scritta"+I,this.getNext HighestDepth());
mc.createTextField("frase",1,0,0,Wclip,Hclip);
mc._x = -100
mc._y = space + Hclip*I
// è una ripetizione
mc._width = 100
mc._height = 100
mc.frase.multiline = true
mc.frase.wordWrap = true
}
// ------------------------------------- FINE -----------------------
poi nel ciclo dell' XML fai riferimento a frase1, frase2, frase3 ??? E' corretto ??
var nsfondi = 0;
non trovo l'incremento ??
Flash MX Esempi da scaricare -
Team www.BeatFly.com - render,photo,ecc.. Elements01.net - Beat Fly official Blog-
grazie...
ma poi come li richiamo i textfield dopo nel secondo...
per quanto riguarda gli y è per averli ad una certa altezza che poi li faccio arrivare da un altra parte...
nel ciclo xml è giusto perchè l'xml è formattato così...
l'incremento di nsfondi è subito dopo la parte che mi da problemi, cioè quando creo i vari movieclip che mi serviranno per contenere le immagini...
![]()
non si riesce...
peccato..
il brutto è che funzionano solo le scritte... sono le immagini che non si vedono...