Caricamento swf in un altro swf

Krystal_it

Nuovo Utente
5 Ott 2006
4
0
0
Ciao a tutti!
Considerata l'eccessiva grandezza del sito che sto realizzando, ho pensato bene di suddividerlo in più file swf. :D
Il problema ora sta nel fatto che non riesco a caricarle :crying: : quello che avevo intenzione di fare io era di caricare un swf in un rettangolo nel momento in cui si preme un pulsante.......
Mi potete aiutare, please?
Bye bye!
 
ciao

Per caricare un file esterno

crei un movie clip vuoto e lo istanzi come vuoi. (esempio: pippo)

al pulsante associ questo script

on(release){
_root.pippo.loadMovie("nomefileesterno.swf");
_root.pippo._x = coordinata orizzontale;
_root.pippo._y = coordinata verticale;
}
 
ciao ciao ciao

anche io sto facendo un sito in questa maniera...in flash non sono un mago, però qlcosina la so fare...

il mio problema ora è questo:

imposrto i file swf esterni...TUTTO OK

in un file esterno ho inserito dei testi di input....

quando lo richiamo nei punti in cui dovrei poter scrivere compare il mouse a forma di "Seleziona testo..." però non mi fa scrivere... come mai?

il sito è www.lenus.it/annalisamilione

sezione contatti....
ciao e grazie
 
wella là!!

Sinceramente neanche io sono un mago... anche io avevo fatto la sezione contatti come la tua ma a me viene bene.
L'unica cosa così alla veloce che mi può venire in mente è se hai istanziato ogni singola riga di testo input.

ah intanto che ci siamo e che ho visto in quel sito lì... mi diresti come fai a fare la barra del preload con il relativo script? cioè insomma.... tutto.

cmq prova a guardare se le hai istanziate.. in caso contrario ci guardo meglio.
 
ciao!

ciao...allora il mio problema non l'ho risolto...ma poco male ci ho messo il semplice link con il mailto:balblabla

allora se ti riferisci al preload iniziale...


fai una scenza e ciamala prelaod (o pippo o come più ti piace...)

crei due frame...

nel primo metti:

car = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100);

this.barra._width = (car*320)/100;

if (_root.getBytesLoaded() == _root.getBytesTotal()) {
gotoAndPlay("sito", 1);
}


praticamente dice di verificare il totale dei byte caricati e quelli già caricati...poi applico al clip filmato la lunghezza definita con quella roba matematica (devi solo cambiare quel 320 che indica la lunghezza finale della barra in pixel)

l'ultima parte dice che quando tutto il filmato è caricato allora va a riprodurre la scena "sito" cioé la scena successiva dove costruirai il vero e proprio sito...

nel secondo frame metti
gotoAndPlay(1);


in modo da ripetere la funzione precedente...

Infine metti un rettangolo / clip filmato e lo istanzi come "barra". lo colori del tuo colore preferito e gli dai come dimensione di lunghezza 0px...

ora se provi la scena dovrebbe darti la tua barra della lunghezza di 320 px ovvero che ha caricato il tutto


Il resto è semplice grafica montata tutt'intorno...
 
lll

se invece ti riferivi alla barra delle pagine interne

ti posto il codice che ho trovato nella guida di flash...e la funzione che ho creato per renderlo più utilizzabile...


function carica_file(url) {
//crea clip per ospitare il contenuto
this.createEmptyMovieClip("progressBar_mc", 0);
progressBar_mc.createEmptyMovieClip("bar_mc", 1);
progressBar_mc.createEmptyMovieClip("stroke_mc", 2);
//utilizza i metodi di disegno per creare una barra di avanzamento
with (progressBar_mc.stroke_mc) {
lineStyle(0, 0x000000);
moveTo(0, 0);
lineTo(100, 0);
lineTo(100, 10);
lineTo(0, 10);
lineTo(0, 0);
}
with (progressBar_mc.bar_mc) {
beginFill(0xFFFFFF, 100);
moveTo(0, 0);
lineTo(100, 0);
lineTo(100, 10);
lineTo(0, 10);
lineTo(0, 0);
endFill();
_xscale = 0;
}
progressBar_mc._x = 670;
progressBar_mc._y = 110;
// avanzamento del caricamento
var mclListener:Object = new Object();
mclListener.onLoadStart = function(target_mc:MovieClip) {
progressBar_mc.bar_mc._xscale = 0;
};
mclListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
progressBar_mc.bar_mc._xscale = Math.round(bytesLoaded/bytesTotal*100);
};
mclListener.onLoadComplete = function(target_mc:MovieClip) {
progressBar_mc.removeMovieClip();
};
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._height = 500;
target_mc._width = 770;
};
// Crea un clip per ospitare l'immagine.
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
/* Carica l'immagine nel clip.
You can change the following URL to a SWF or another image file. */
image_mcl.loadClip(url, this.sfondo);
}



... e cos' richiamo la funzione...
carica_file('http://www.tuosito.com/nomefile.swf');
carica_file('http://www.tuosito.com/nomefile.jpg');


naturalmente devi creare un movieclip vuoto istanziato come sfondo....o come più ti paice...basta che cambi il riferimeto nella funzione (ultimo rigo...)

ah e poi puoi cambiare il colore della barra e la sua posizione....
non kiedermi come perché devo scappare, massehai bisogno riposta pure chauuuuuuuuuu!!

FINE!
 
ok...

ti ringrazio... domani sera se ho tempo provo... ormai sono consumato dalla giornataccia e dalla birra... e sempre domani provo a mandarti come ho fatto io la sezione contatti con il testo input!
 
per quanto riguarda i contatti...

Stavo dando un'occhiata alla mia sezione contatti...
io ho fatto così:

crei un campo di testo di input. lo istanzi e poi ci metti anche un nome nel campo VAR che trovi in basso a sinistra nella finestra proprietà...
(es. campo del nome. crei testo input lo istanzi "nome1" e nel campo VAR ci metti "nome")
Poi al pulsante invia ho messo il seguente script:

on (release) {
if (nome == "") {
output = "Dimenticato qualcosa!";
return;
}
if (cognome == "") {
output = "Dimenticato qualcosa!";
return;
}

if (citta == "") {
output = "Dimenticato qualcosa!";
return;
}


if (email == "") {
output = "Dimenticato qualcosa!";
return;
}
if (messaggio == "") {
output = "Dimenticato qualcosa!";
return;
}

if (nome != "" && cognome != "" && citta != "" && email != "" && messaggio != "") {
nomecod = escape(nome);
cognomecod = escape(cognome);
cittacod = escape(citta);
emailcod = escape(email);
messaggiocod = escape(messaggio);
nome = indirizzo=citta=email=messaggio=cognome="";
invio = 1;
output = "invio in corso...";
loadVariables ("info.php", this, "POST");
}
}

Anche successivamente, negli campi gli istanzi esempio cognome1, citta1, email1 e nel campo VAR uguali i nomi ma senza l'uno. se non ti viene tagliamo la testa al toro e carico il sorgente.

mi faccio una birra!!!
 

Discussioni simili