• User Newbie

    Problema menu dinamico e concorrenza layer

    Salve a tutti,

    sono un programmatore flash davero alle prime armi, quindi non ridetemi dietro, o almeno non fatevene accorgere 😛

    il mio problema è il seguente: sto creando un menu dinamico contenente (per adesso) 2 clip (uno per layer) che aprono una specie di cassetto con le voci della sottosezione. Il problema sta nel fatto che se faccio il rollOver su entrambi i "menu" nello stesso momento o quasi, si aprono entrambi i cassetti, questo genera 2 problemi:

    1. meno grave, che i cassetti essendo impostati ad alpha 50% si vedono 1 sopra l'altro, ma questo potrebbe anche andare bene
    2. molto grave, il cassetto presente sul livello superiore ha sempre il "focus" fregandosene ddell'altro cassetto anche se è stato aperto dopo (e quindi avente diritto do focus)... questo è un comportamento ovvio visto che, per come ho capito, i layer funzionano dul principio dello z-index.... ma non è il comportamento che vorrei....

    una soluzione che avevo pensato è: dare un nome ad entrambe le istanze menu ed all'apertura di uno dei menu fare immediatamente un nomeistanza.gotoAndStop(1) (per chiudere il cassetto) sull'altro menu.... questo risolverebbe entrambi i problemi.... ma come si fa? io l'ho realizzato esattamente come ho scritto, ma le 2 istruzioni di goto sembrano non funzionare...

    una mano?

    grazie, spero di essere stato sufficientemente chiaro e di non avervi annoiato troppo


  • Super User

    Ciao zoddwraith2 benvenuto sul Forum GT, si penso anche io che sia meglio mettere i cassetti su frame diversi, descrivi più in dettaglio il codice che hai usato per effettuare il gotoAndPlay, poi magari sarebbe meglio vedere il fla.


  • User Newbie

    @Nhatan said:

    Ciao zoddwraith2 benvenuto sul Forum GT, si penso anche io che sia meglio mettere i cassetti su frame diversi, descrivi più in dettaglio il codice che hai usato per effettuare il gotoAndPlay, poi magari sarebbe meglio vedere il fla.

    ciao, grazie per la risposta veloce, vorrei uppare il codice sorgente ma non so come mettere il file in allegato...

    comunque sono 2 clip praticamente identici (per il secondo ho duplicato il primo) messi su 2 layer diversi....

    su ognuno c'è il gotoAndStop(1); dell'altro


  • Super User

    Si però non mi hai descritto come e quale codice hai scritto per ottenere il gotoAndPlay(), comunque il codice in as 2.0 è questo

    
    mio_pulsante.onRollOver = function(){
        gotoAndPlay()
    }
    
    

  • User Newbie

    allora, nel rollover di 1 ci ho messo, nome_istanza_dell'altro.gotoAndStop(0); insieme a tutto il resto del codice corrispondete al rollover

    in modo che quando si attivava questo l'altro si "resettava"... è una cosa corretta o non funziona così?


  • Super User

    Più o meno, io metterei sul frame 1 cassetti chiusi, al frame 2 cassetto 1 aperto cassetto 2 chiuso, al frame 3 cassetto 1 chiuso 2 aperto, poi se hai immagini intermedie dell'apertura metterei dei movieclip per dare il movimento apertura chiusura.


  • User Newbie

    forse ho capito.... oggi mi metto al lavoro e se ho problemi ritorno 🙂

    grazie

    p.s. da un "sotto-clip" posso pilotare i goto del clip "padre"? cioè _root funziona per questo?


  • Super User

    Dunque ho provato a fare un' animazione, credo, simile a quella che vuoi realizzare, non ho trovato una immagine molto adatta ma credo renda l'idea.
    Avrei due consigli da darti: uno anzichè in movieclip trasforma il cassetto in un pulsante in modo da poter circoscrivere l'area sensibile, due anzichè al rollover che genera confusione in una animazione del genere utilizzerei onPress. Comunque puoi scaricare l'esempio da quà:
    http://www.dago2008.altervista.org/


  • User Newbie

    beh l'idea dei cassetti non era proprio quella letteraria 😄

    cmq si + o - rende l'idea...

    alla fine cercherò di spostar tutto sulla scena principale.... perchè i singoli pezzi non devono essere autonomi... oppure modulizzare tutto ma ridurre i tempi in modo da rendere umanamente impossibile far sovrapporre 2 menu diversi..... mo provo va...

    cmq grazie per le dritte 🙂


  • Super User

    Ma allora non ho capito cosa intendevi per cassetti?
    Non è che per caso intendevi un menù a tendina con sottomenù?


  • User Newbie

    eh si... scusa sono stato troppo poco chiaro lol


  • Super User

    Allora vai tra 10 minuti al medesimo indirizzo ti metto a disposizione un altro Fla il tempo di cercarlo nel mio archivio.


  • User Newbie

    preso.... veramente molto diverso da come pensavo di farlo... quell'hit test e onframe fanno risparmiare un sacco di codice....

    grazie di nuovo

    edit: ecco un'altro ptoblema.... l'hit test funziona bene su forme regolari come rettangoli.... ma sul mio clip che è composto da 2 rettangoli di divers dimensione sembra intripparsi.... infatti considera come area l'intero macrorettangolo di tutta la clip.... soluzioni?

    riedit: risolto.... c'era anche un terzo parametro 🙂