Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    gestione onPress per filmati caricati dalla libreria

    Salve a tutti,

    ho un piccolo problema con una gallery in flash. La gallery prende le immagini da una cartella, gli indirizzi delle immagini sono contenute in un xml. Con actionscript, apro l'xml e con un ciclo for estraggo la lista delle immagini che vengono caricate ognuana dentro un movieclip nella libreria utilizzando un attachMovie. Quindi ottengo tot di movieclip che contengono le diverse immagini. il problema che ho adesso è trasformare ogni movieclip in pulsante per dirgli:

    miomovieclip.onPress = function () {
    loadmovie("nome immagine[i]", altromovieclippresentesullostage );
    }

    ho provato ad inserire questa cosa nel primo frame del file ma non funziona (credo non funzioni perchè i diversi movieclip non hanno un' etichetta per actionscript) allora ho provato ad inserirlo nel movie clip della libreria ma non funziona.

    Posso in qualche modo trasformare dei pulsanti generati tramite attchMovie in un ciclo for in pulsanti?

    questi pulsanti ovviamente hanno nome pulsante1, pulsante2, pulsante3, e devono avere tutti caricato un percorso immagine diverso...avete idee???

    ringrazio chiunque mi risponda in anticipo

  2. #2
    ti posso dire che volendo la cosa la puoi fare benissimo anche a mano in maniera un po' primitiva ovvero scrivendo:
    pulsante1.onPress = function () {
    loadmovie("nome immagine[1]", altromovieclippresentesullostage );
    }
    pulsante2.onPress = function () {
    loadmovie("nome immagine[2]", altromovieclippresentesullostage );
    }
    pulsante3.onPress = function () {
    loadmovie("nome immagine[3]", altromovieclippresentesullostage );
    }
    eccc.....
    ma è ovvio che la cosa non è molto "pulita" l'alternativa è di inserire questo script, rendendo dinamica l'assegnazione del nome dei pulsanti, direttamente nel ciclo che ti crea tramite attachMovie questi pulsanti.

    Posta il codice che utilizzi cosi vediamo dove inserirlo precisamente.

  3. #3
    filexml = "Imagesb.xml";
    ApriXML();
    function ApriXML() {
    mioxml = new XML();
    myarray = new Array();
    mioxml.load(filexml);
    mioxml.onLoad = ElaboraXML;

    function ElaboraXML(success) {
    if (mioxml.loaded) {
    myarray = mioxml.firstChild.nextSibling.childNodes;
    trace ("Immagini totali = "+ myarray.length);
    for (i=0;i<=myarray.length;i++){
    if (myarray[i].nodeName == "immagine"){
    loadMovie(myarray[1].childNodes[1].childNodes.toString(),"imageConteiner");
    attachMovie("anteprimaConteiner","NewConteiner"+i, i,{_x:20,_y:i*35});
    loadMovie(myarray[i].childNodes[1].attributes.dd,"NewConteiner"+i);
    }
    }
    };
    };
    }

    anterprimaConteiner è il MC che contiene l'anteprima dell'immagine mentre imageConteiner è il MC contenitore dell'immagine.

  4. #4
    codice:
    filexml = "Imagesb.xml";
    ApriXML();
    function ApriXML() {
    	mioxml = new XML();
    	myarray = new Array();
    	mioxml.load(filexml);
    	mioxml.onLoad = ElaboraXML;
    	function ElaboraXML(success) {
    		if (mioxml.loaded) {
    			myarray = mioxml.firstChild.nextSibling.childNodes;
    			trace("Immagini totali = "+myarray.length);
    			for (i=0; i<=myarray.length; i++) {
    				if (myarray[i].nodeName == "immagine") {
    					loadMovie(myarray[1].childNodes[1].childNodes.toString(), "imageConteiner");
    					attachMovie("anteprimaConteiner", "NewConteiner"+i, i, {_x:20, _y:i*35});
    					path = eval("NewConteiner"+i);
    					path.i = i;
    					path.onPress = function() {
    						loadMovie("nome immagine"+[this.i], altromovieclippresentesullostage);
    					}; 
    					loadMovie(myarray[i].childNodes[1].attributes.dd, "NewConteiner"+i);
    				}
    			}
    		}
    	}
    }
    La parte evidenziata è l'aggiunta che ti serve, però devi fare delle prove per vedere se va bene.

  5. #5
    ho provato ma non funziona...

    path = eval("NewConteiner"+i);
    trace (path);
    path.i = i;
    path.onPress = function() {
    trace ("funziona");
    };

    ho provato anche a metterlo così per escludere errori nel loadmovie ma non va lo stesso, i movieclip non diventano pulsanti benchè l'output di path mi dia i nomi corretti dei movieclip...è come se stessi sbagliando nome ai movie clip che non diventano pulsanti...mmm...sono un po' a corto di soluzioni...

  6. #6
    Per il momento sono giunto a questa soluzione

    filexml = "Imagesb.xml";
    ApriXML();
    function ApriXML() {
    mioxml = new XML();
    myarray = new Array();
    mioxml.load(filexml);
    mioxml.onLoad = ElaboraXML;
    function ElaboraXML(success) {
    if (mioxml.loaded) {
    myarray = mioxml.firstChild.nextSibling.childNodes;
    trace ("Immagini totali = "+ myarray.length);
    for (i=0;i<=myarray.length;i++){
    if (myarray[i].nodeName == "immagine"){
    attachMovie("antConteiner","NewConteiner"+i,i,{_x: 20, _y:i*35});
    path = eval("NewConteiner"+i);
    path.i = i;
    path.onPress = function() {
    trace ("img/fiore_"+path+".jpg");
    };
    loadMovie(myarray[i].childNodes[1].attributes.dd,"NewConteiner"+i+".Dentro");
    }
    }
    }
    }
    }

    purtroppo sull' onPress ho un problema faccio iltrace per testare e mi da come risultato per tutti i movieclip l'ultimo elemento dell'array. Come se all'interno dell'onPress non arrivasse il ciclo for...ho sbagliato qualcosa????

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.