Flash AS2: galleria immagine richiesta

Ciao a tutti, vi illustro il problema che sto riscontrando. Pi√Ļ che un problema, vorrei rendere il mio progetto pi√Ļ "pulito". Quello che sto andando a creare √® un sito web, suddiviso in due scene.

La prima ha il contenuto de sito, mentre la seconda ha un layout base per la gallery che si carica tramite file .xml.

Qual è il problema?

Nel sito vorrei creare una pagina -> Fotogallery, nella quale ci sono i diversi album. Cliccando sul nome dell'album, dovrebbe aprire la scena "Gallery" e caricare il file .xml che chiama le diverse foto in una cartella. Il tutto è attualmente perfettamente funzionante. Il problema è che per ogni diverso album, mi sto creando una scena nuova.

Quindi se per esempio ho l'album:
-Capodanno
-Vacanze estive
-Vacanze invernali
-etc

Vengo a trovarmi con la scena principale + 3 (che sono le gallery). Ora, dato che si potrebbe fare un po di pulizia (perchè se continuo così va a finire che mi trovo con 20 scene), vorrei poter fare con l'AS2, un modo in cui l'utente quando clicca sul nome di un album, Flash salva su una variabile il file .xml che dovrebbe caricare per visualizzare quel album e che carichi sempre la stessa scena Gallery.

A mio parere ci sarebbe da creare una variabile globale, visibile all'intero file, che ogni qual volta si clicchi sull'immagine si inizializzi con il file .xml nuovo che linka le foto. Il problema è che non conosco molto l'AS per tradurre l'italiano in linguaggio di programmazione.

Sperando di essere stato chiaro nella spiegazione del problema, vi posto lo script che controlla la gallery:



//Questo blocco secondo me da qualche parte dovrebbe essere reso globale ma non ho idea di come si possa fare

var x:XML = new XML();
x.ignoreWhite = true;


var urls: Array = new Array();
var captions: Array = new Array();
var indicizza:Number;

x.onLoad = function(success){
var photos:Array = this.firstChild.childNodes;
for(i=0; i<photos.length;i++){
urls.push(photos[i].attributes.url);
captions.push(photos[i].attributes.caption);
}

holder.loadMovie(urls[0]);
caption.text = captions [0];
indicizza = 0;
}

//carica file XML con url delle immagini
x.load("FILE.xml");

indietro.onRelease = function(){
if(indicizza > 0){
indicizza--;
holder.loadMovie(urls[indicizza]);
caption.text = captions [indicizza];
}
}

avanti.onRelease = function(){
if(indicizza < urls.length-1){
indicizza++;
holder.loadMovie(urls[indicizza]);
caption.text = captions [indicizza];
}
}

 m.petrizzelli, N.D.

Ciao e benvenuto sul forum.

Dovresti mettere anche il codice xml oltre a quello as

invece di creare una nuova scena per ogni album ...
nello stesso fotogramma potresti creare una serie di pulsanti
ogni pulsante è collegato ad una lista .xml e quindi ad una determinata categoria.


 max_400, N.D.

max_400 ha scritto:
Ciao e benvenuto sul forum.


Dovresti mettere anche il codice xml oltre a quello as

invece di creare una nuova scena per ogni album ...
nello stesso fotogramma potresti creare una serie di pulsanti
ogni pulsante è collegato ad una lista .xml e quindi ad una determinata categoria.



Giusto, è quello che vorrei andare a creare, quindi andrei a ottenere una scena con i diversi pulsanti che quando clicca apre la scena album che carica le foto tramite il file .xml appropriato, solo che non sono capace di fare questa semplice cosa.

Questo è il file .xml, già funzionante, che carica le foto:

<?xml version="1.0" encoding="UTF-8"?>
<slideshow>
<photo url="immagini/31_10/foto001.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto021.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto003.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto004.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto005.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto006.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto007.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto008.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto009.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto010.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto011.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto012.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto013.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto014.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto015.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto016.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto017.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto018.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto019.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto020.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto021.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto022.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto023.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto024.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto025.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto026.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto027.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto028.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto029.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto030.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto031.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto032.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto033.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto034.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto035.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto036.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto037.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto038.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto039.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto040.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto041.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto042.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto043.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto044.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto045.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto046.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto047.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto048.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto049.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto050.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto051.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto052.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto053.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto054.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto055.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto056.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto057.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto058.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto059.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto060.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto061.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto062.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto063.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto064.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto065.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto066.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto067.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto068.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto069.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto070.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto071.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto072.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto073.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto074.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto075.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto076.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto077.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto078.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto079.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto080.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto081.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto082.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto083.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto084.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto085.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto086.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto087.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto088.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto089.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto090.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto091.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto092.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto093.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto094.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto095.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto096.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto097.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto098.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto099.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto100.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto101.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto102.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto103.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto104.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto105.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto106.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto107.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto108.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto109.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto110.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto111.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto112.jpg" caption="Domenica 31 Ottobre" />
<photo url="immagini/31_10/foto113.jpg" caption="Domenica 31 Ottobre" />
</slideshow>


Concludendo, ho un file flash con la scena del sito e una del album, ora non so proprio come passarli ad ogni pulsante che si trova nella scena "sito" il file .xml che apri la scena "album" con le foto richieste.

Grazie ancora!

 m.petrizzelli, N.D.

Molto bene...

Ti ho fatto l'esempio, ho messo 2 categorie diverse
sorcetti e gatti tramite pulsanti collegati alle liste xml

intanto guarda l'esempio


http://max400scuola.altervista.org/galleria-xml-2liste/galleria-xml-2-liste.swf

qui il pacco completo con foto e le 2 liste
http://max400scuola.altervista.org/galleria-xml-2liste/galleira-xml-2liste.rar


il codice actionscript l'ho modificato aggiungento una variabile proprio all'inizio
hhh="";

e poi ho racchiuso lo script in una funzione "caricamento()".
Tale funzione viene richiamata dai pulsati, i quali
richiamano le liste modificando il valore all'interno della variabile hhh.

Nella riga
x.load(hhh);

Viene richiamata la lista del pulsante che hai premuto
cambiando il suo valore... il suo contenuto.(hhh="FILE.xml)

E' semplice.

 max_400, N.D.

max_400 ha scritto:
Molto bene...


Ti ho fatto l'esempio, ho messo 2 categorie diverse
sorcetti e gatti tramite pulsanti collegati alle liste xml

intanto guarda l'esempio


http://max400scuola.altervista.org/galleria-xml-2liste/galleria-xml-2-liste.swf

qui il pacco completo con foto e le 2 liste
http://max400scuola.altervista.org/galleria-xml-2liste/galleira-xml-2liste.rar


il codice actionscript l'ho modificato aggiungento una variabile proprio all'inizio
hhh="";

e poi ho racchiuso lo script in una funzione "caricamento()".
Tale funzione viene richiamata dai pulsati, i quali
richiamano le liste modificando il valore all'interno della variabile hhh.

Nella riga
x.load(hhh);

Viene richiamata la lista del pulsante che hai premuto
cambiando il suo valore... il suo contenuto.(hhh="FILE.xml)

E' semplice.

Perfetto ;-D con un po di modifiche sembra stia andando, adesso mi creerò tutti gli album e poi metto il tutto online, poi ti comunicherò in modo che tu possa sbirciare ;-D

Grazie ancora! adesso vorrei inserire un extra, vorrei creare una funzione su un pulsante, la quale, quando clicco su "Scarica", l'utente che guarda il sito possa scaricare sul suo computer l'immagine che sta visualizzando. Potresti per cortesia darmi quest'ultimo aiuto? Scusa ma sono proprio alle prime armi con l'AS :-|

 m.petrizzelli, N.D.

è semplice...

Per scaricare la fato non devi fare altro che
sostituire il loadMovie con getURL
l'immagine per essere scaricata deve essere presa dal browser

quindi crei un pulsante e metti questo straccio di script:

on (release) {
getURL(urls[indicizza]);
}

ovviamente dopo aver selezionato una lista e visualizzata la foto..

Questo è l'esempio impaginato in modo da farti vedere anche il Fullscreen (ossia vedere la galleria a schermo intero)
http://max400scuola.altervista.org/galleria-xml-2liste/galleria.html

e questo invece a tutta pagina
http://max400scuola.altervista.org/galleria-xml-2liste/galleria-xml-2-liste.swf

per scaricare la foto prima la visualizzi
cliccando su una delle 2 liste disponibili
e poi c'è un pulsante blu sotto "scarica" ti aprirà un 'altra scheda del browser e dopo fai "salva con nome"




il gatto il gatto il gatto

Onorevole Petrizelli...
penso abbiamo concluso o no?

 max_400, N.D.

Ciao Max, scusa ma purtroppo il pusante non so per quale motivo non vada. Sapevo che c'era da usare l'onRelease, ma non sapevo che parametri passarli al pulsante. Quelli che mi hai passato per logica dovrebbero andare ma invece il pulsante se premuto non fa niente.

on (release) {
getURL(urls[indicizza]);
}

Forse perchè il codice della gallery non comunica con quello del pulsante?! Scusa ancora del disturbo.

 m.petrizzelli, N.D.

Il pulsante non funziona in caso non viene caricata nessuna lista.

Io ho provato anche da locale e funziona
ad esempio posso scarica la foto del sorcio
mi compare questa riga nella barra indirizzi

http://max400scuola.altervista.org/galleria-xml-2liste/immagini/31_10/foto001.jpg

da locale invece ho preso semplicemente il file swf
e mi ha aperto una scheda del browser

file:///C|/flash14/immagini/31_10/foto001.jpg

La procedura che ho seguito è la seguente

1) clicca sul pulsante sotto la scritta "FILE.XML" (pulsante celeste)

2) e poi sul pulsante "scarica foto" (pulsante blu)


 max_400, N.D.

Alzo bandiera bianca, non ne vuole sapere, a me carica le foto, senza problemi e si visualizzazno tutti gli album, quindi i file .xml li carica tutti.

Ma quando vado a premere, il browser non legge la posizione dell'immagine, infatti ogni volta che si clicca su scarica risponde con questo messaggio

"Desktop/FLASH_UNI/ESAME FLASH/web/undefined."

Come se non cap**se che parametro li sto passando, è come se l'array non lo leggesse al di fuori della funzione creata nel fotogramma dello stage, che permette il corretto funzionamento della visualizzazione delle foto. Che dire, chi vedrà il sito non scaricherà le foto, visto che è inumano creare un link per ogni foto

Danke schon for all;-]

 m.petrizzelli, N.D.

Forse è un problema di percorsi o di spazi

"Desktop/FLASH_UNI/ESAME FLASH/web/undefined."

qui c'è uno spazio che non mi convince
ESAME FLASH
prova a mettere un trattino come hai fatto con
FLASH_UNI

che browser usi?


 max_400, N.D.

Ho risolto ;-D
Il discorso del pulsante rimane ancora un misterio, forse come detto precedentemente, non si sa per quale motivo il pulsante non veda le variabili urls e indicizza.

Ho risolto, inserende nella stessa funzione della gallery il seguente codice, praticamente uguale identico a quello messo nel pulsante:

download.onRelease = function (){
getURL(urls[indicizza]);
}

Dove download, è il nome dato all'istanza del pulsante, adesso va perfettamente ;-D

 m.petrizzelli, N.D.

Onorevole Petrizzelli...

Mi fa piacere che hai risolto, ho pensato che sarebbe meglio un comodo menu per dare la possibilit√† all'utente di scegliere con pi√Ļ comodit√†, risparmiando spazio nello stage, la lista desiderata....

http://max400scuola.altervista.org/galleria-xml-2liste/galleria2.html

Ps lo schermo intero ti funziona?

 max_400, N.D.

Per il menu buona idea :-* pensavo di mettere uno slider con una foto di ogni album, e l'utente quando clicca apre la galleria che passa il file .xml.

Per quanto riguarda il full scree, l'fscomand per aprire il .exe .app in full screen è funzionante, ma non so come fare il fullscreen nel browser.

 m.petrizzelli, N.D.

Oltre ad una galleria fotografica puoi utilizzare il tuo script per mettere delle canzoni

http://max400scuola.altervista.org/musica-xml/musica-2-liste.html

il pacco completo da 3 mega
http://max400scuola.altervista.org/musica-xml/musica-xml-2-liste.rar

ok ;-] per il momemto è tutto
alla prossima e buon lavoro!

 max_400, N.D.
001design.it ® è un marchio registrato.
© 2004-2017 Molfese Paolo - P.Iva: 03430820617 - All rights reserved | Tutti i diritti sono riservati.