Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    (AS2) disattivare on(press) dei bottoni nascosti

    salve a tutti,
    ho realizzato una fotogallery dinamica che recupera dati da 2 file xml.
    corrispondono ad img associate a determinate categorie, e sono così coposte:
    1° categoria: slide verticale di bottoni che scrollano al movimento verticale del mouse, e all'azione on (press) attiva la seconda gallery (img appartenenti a quella determinata categoria) composta da uno slide orizzontale scrollabile con dei bottoni (next - prev).
    I due scroll vengono visualizzati in determinate porzioni dello stage, tramite una maschera.
    Il mio problema è dato dal fatto che entrambi i menù, sono linkabili non solo nella porzione scoperta dalla maschera, ma anche nel punto in cui i bottoni dei due menù sono nascosti da essa (maschera).
    La domanda è:
    come faccio a disattivare l' on (press) dei bottoni che risiedono sotto la maschera??

    allego screen della gallery in modo che sia + chiaro.

    Ringrazio chiunque voglia darmi una mano.
    Immagini allegate Immagini allegate

  2. #2
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766
    con enabled = false non funziona?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    ti spiego...
    i bottoni vengono creati dinamicamente, e se applico la funzione enabled:false
    tutti i bottoni diventano non cliccabili, mentre a me occorre che solo quelli nascosti dalla maschera siano disabilitati.

    devo disabilitarli su entrambi i menù, perchè su entrambi anche se i bottoni finiscono sotto la maschera, sono lo stesso cliccabili.

  4. #4
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766
    e se, una volta creati, disabiliti solo i bottoni che sono in una determinata posizione?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    mhhhh...
    e come faccio?? dove imposto il controllo?

    una cosa del tipo:

    su ogni button
    Codice PHP:

    il bottone è attivo
    limite sinistro dell
    'area button visualizzabile =lim_sx
    limite destro dell'
    area button visualizzabile =lim_dx
    this
    .onEnterFrame function() {
    //controllo se l'angolo dx del bottone è fuori dal limite sinistro:
       
    if (bottone._x+button._width<=lim_sin) {
        
    disabilito il bottone
      

    //controllo se l'angolo sx del bottone è fuori dal limite destro:
      
    if (bottone._x>=lim_dx) {
        
    disabilito il bottone
      



    provo e ti faccio sapere.

  6. #6
    La cosa che non capisco è come facciano ad essere attivi i bottoni fuori dalla maschera. Tutto quello fuori dalle maschere in genere è invisibile e inattivo.


    Un momento... per maschera intendi un clip colorato che copre quello che sta nel livello sotto? Nel caso cambia sistema e sei a cavallo.

    Usi un clip che deve corprire l'area che vuoi vedere (fai il rettangolo sopra al pezzo di miniature che vuoi vedere). E metti il livello come maschera.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    appunto!! e il problema è che non posso dare nessuna azione al bottone perchè non esiste!!!
    non esiste in quanto si crea dinamicamente, non posso dare l'azione finche non è creato!! o my god!!

    :quote: prima della tua modifica...


    dopo la tua modifica:

    si ok... per maschera intendevo un semplice movie che stà un livello sopra.
    quindi basterebbe creare un altro livello sopra a tutto e diciamo colorare la parte che voglio far visualizzare e farlo diventare una maschera giusto?

    ma a quel punto mi diventerebbe maschera di cosa? solo del livello sotto... quindi non mi resta altro da fare che creare di nuovo un'altra maschera ed applicarla all'altro menù.
    provo e ti faccio sapere!! sono 2 settimane che stò dietroa questa fotogallery, ma devo dire che stà venendo davvro bene...e considerando che è il mio primo progetto in AS!!!
    grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    GRANDE Stan!!!

    Risolto!! appena finisco con gli ultimi dettagli posto il codice...poi mi direte cosa ne pensate!! non è che sia chissà che cosa... ma per me... che è il 1° progetto è davvero una figata!!

    poi così..una volta postato... se qualcuno ha voglia...posisamo andarla a modificare per migliorarla ulteriormente!! per adesso grazie mille!


  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    devo sistemare questa ultima cosa:
    cè un errore da qualche parte che non mi permette il caricamento automatico della prima img a scapito delle successive o viceversa.
    questo è quello che faccio in breve:

    leggo il file xml, carico l'array che utilizzerò per creare il menù, e fatto il primo passaggio carico la prima immagine di default, e poi continuo con la creazione del menù.
    l'immagine che carico con loadmovie va a finire in un altro layer:
    + esattamente in "_root.pippo" cè questo codice, mentre l'immagine viene creata in "_root.sezione.immagine_vis"
    sempre dentro "_root.pippo" viene creato il menù ogno bottone del menù è "container"
    Codice PHP:
    if (loaded) {

        
    xmlNode this.firstChild;
        
    image = [];
        
    image2 = [];
        
    description = [];
        
    id = [];
        
    testo_cat = [];
        
    total xmlNode.childNodes.length;
        var 
    yPos 0;
        
    // carico l'array per una lunghezza pari al numero di nodi, con un contatore i
        
    for (i=0i<totali++) {
            
    image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
            
    description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
            
    image2[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
            
    id[i] = xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue;
            
    testo_cat[i] = xmlNode.childNodes[i].childNodes[4].firstChild.nodeValue;
        }
        
        
    // visualizzo la prima immagine dell'array
        
    _root.sezione.immagine_vis.loadMovie(image[0]);
        
    _root.sezione._visible=false;
        
    // richiamo la funzione che aggiunge i bottoni
        
    aggiungi();
        
        } else { 
    content "file not loaded!";    }
            
    }
    xmlData = new XML();
    xmlData.ignoreWhite true;
    xmlData.onLoad loadXML;
    xmlData.load("xml_flash/realizzazioni.php");

    //_global.lim=_root.controllo.text;
    function aggiungi (){
        
    //punto di partenza di x e y 
        
    var xPos 30;
        var 
    yPos 235;
        
        
    //con il ciclo includo nel movie container alle istanze presenti 
        //in esso i valori recuperati dal file xml
        
    for (var k=0k<totalk++) {
            
    //attach the container clip
            
    attachMovie("container""new"+kk, {_x:xPos_y:yPos});
            
    //increase the y position each time
            
    yPos += this["new"+k]._height+0;
            
    //add the information
            
    this["new"+k].name.text description[k];
            
    this["new"+k].name._alpha=70;
            
    this["new"+k].spazio_scritta._alpha=70;
            
    this["new"+k].image.loadMovie(image[k]);
            
    this["new"+k].image._alpha=100;
            
    this["new"+k].link image2[k];
            
    this["new"+k].sez_id id[k];
            
    this["new"+k].testo.text testo_cat[k];
            
            
    //_root.pinco.text= image2[k];
        
    }

    a questo punto avrò la prima immagine caricata in un livello, e il menù in un altro livello.

    questo una parte del codice abbinato al bottone del 1° menù:

    Codice PHP:
    on (release) {
            
    _root.img_logo._visible=false;
            
    _root.sezione._visible=true;
            
    _root.sezione.immagine_vis.unloadMovie(link);
            
    //_root.sezione.immagine_vis.unloadMovie(link_sez);
                    //carica l'immagine in riferimento alla categoria
            
    _root.sezione.immagine_vis.loadMovie(link)
                    
    //imposto la larghezza (tutte le immagini che carico in questa posizione sono 280X210) caricate precedentemente con un pannello  di gestione
            
    _root.sezione.immagine_vis._width=280;
            
    _root.sezione.immagine_vis._x=0;
            
    _root.sezione.immagine_vis._y=-235;    
            
    _root.sezione.immagine_vis._quality "best";
            
    _root.sezione.immagine_vis._alpha=0;
    //gestisco il testo per quella determinata categoria
            
    _root.sezione.testo_cat.text=this.testo.text ;
            
    _root.sezione.testo_cat.text._alpha=0;
            
    _root.link_big.text="";
            
    //disattivo il bottone su immagine_vis per ingrandimento
            
    _root.sezione.immagine_vis.enabled=false
    //gestisco i bottoni e 
            
    _root.sinistra.enabled=false;
            
    _root.sinistra._alpha=40;
            
    _root.destra.enabled=true;
            
    _root.destra._alpha=100;
            
    //richiamo funzione verifica testo.
            
    verifica_testo();

    //Come per la creazione del 1° menù, qui vadoa  creare il 2°. Leggo il file xml passandogli id che ricevo dal bottone cliccato.
    .
    .
    .
    .
            

    xml2Data = new XML();
        
    xml2Data.ignoreWhite true;
        
    xml2Data.onLoad loadXML_sez;
        
    xml2Data.load("xml_flash/realizzazioni_interno.php?id="+sez_id);

        function 
    aggiungi_sez (){
    .
    .
    .


     }

    //altre funzioni per effetti sui bottoni.

    }

    //infine questo nel 2° frame in _root:
    fa entrare l'immagine ingrandita dall'alto verso il basso.

    _root.sezione.immagine_vis.onEnterFrame=function() {
    //spostamento verso il basso fino ad occupare la posizione indicata
        
    if( this._y<=0) {
            
    this._y+=60;
            
        }            
    //visualizzazione dell'immagine da alpha=0 a 100
        
    if( this._alpha<=99) {
            
    this._alpha+=10
            
        
    }            
        
    delete this.onEnterFrame;

    allora il punto principale è:
    se imposto al momento della creazione del 1° menù la larghezza dell'immagine da aprire immagine_vis l'immagine si apre deformata, e cliccando su un bottone dle 1° menù l'immagine che viene caricata al primo turno non viene visualizzata, al secondo click si visualizza nella stessa posizione del menù.
    se invece non setto la larghezza dell'img al momento della creazione del 1° menù, ma viene settata all' on(press) del bottone, l'immagine si apre correttamente nella posizione corretta, ma sempre al 2° click.
    cioè il primo bottone che clicco mi apre l'imamgine nella posizione corretta ma non la dimensione corretta.

    Spero di aver spiegato bene/ illustrato il problema.

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.