• User Newbie

    [AS3] Problema animazione

    Salve a tutti!
    Sono nuova nel forum e mi chiedevo se qualcuno potesse darmi una mano 🙂
    Sto svolgendo un progetto di flash in action script 3 per un esame. A prescindere dal progetto in se, sono rimasta bloccata su un passaggio.
    Ho una serie di copertine di libri, quando clicco su ognuna di queste si ingrandiscono e si legge la trama del libro. Con un pulsante la copertina si chiude e ne posso aprire un'altra.
    Ora io sono riuscita a fare questo passaggio all'interno del clip filmato della copertina del libro. Clicco, il libro si ingrandisce, appare il testo e in basso il pulsante per chiudere il libro.
    Sembra tutto fantastico, finché non mi accorgo che i libri si sovrappongono l'uno all'altro! 😞

    C'è un modo per far sì che questo non accada? E' probabile che il procedimento con cui ho ottenuto l'animazione non sia proprio esatto, ma non sono un'esperta di flash...

    Direte voi, hai provato a chiedere al tuo professore? Si ci ho provato. Ma è un po' irranggiungibile e l'appuntamento per revisionare il progetto oggi è saltato per via del maltempo. Siccome è il mio ultimo esame e poi in teoria dovrei laurearmi, iniziano a venirmi le crisi di panico!

    Volevo inserire anche qualche immagine per farvi capire meglio di cosa parlo ma a quanto pare non posso farlo...


  • Super User

    Ciao benvenuta sul forum GT, è un po? difficile capire come risolvere perchè la descrizione è abbastanza vaga, dovresti descrivere dettagliatamente la struttura del filmato.


  • User Newbie

    Grazie per il benvenuto 🙂

    Allora, quando io clicco sull'immagine X tramite l'azione "gotoAndPlay" si attiva l'interpolazione di movimento che ingrandisce l'immagine X e appare un testo al di sopra di essa.
    Quando l'immagine X si ingrandisce però, finisce al di sotto delle altre immagini che ha vicino e che si apriranno in maniera identica quando ci si cliccherà di sopra.
    Io invece vorrei che l'immagine ingrandita si aprisse sovrastando tutte le altre, un po' come quando visualizziamo una foto di una gallery in javascript.

    Non riesco ad essere più chiara di così, se potessi farvi vedere delle immagini sicuramente sarebbe tutto più facile 🙂


  • Super User

    Ho visto le immagini che hai pubblicato in un altro forum e ho capito, non devi fare altro che portare il livello di visualizzazione del libro ingrandito su un livello superiore tramite l'istruzione setChildIndex(), se ad esempio hai tre libri: libro1, libro2, libro3 il codice sarà

    
     libro1.addEventListener(MouseEvent.CLICK,scala1)
    libro2.addEventListener(MouseEvent.CLICK,scala2)
    libro3.addEventListener(MouseEvent.CLICK,scala3)
     function scala1(evt:MouseEvent):void{
          setChildIndex(libro1,2)
         libro1.scaleX=1.5
         libro1.scaleY=1.5
    
     }
     function scala2(evt:MouseEvent):void{
        setChildIndex(libro2,2)
        libro2.scaleX=1.5
         libro2.scaleY=1.5
     
     }
     function scala3(evt:MouseEvent):void{
         setChildIndex( libro3,2)
         libro3.scaleX=1.5
         libro3.scaleY=1.5
    
     }
    
    

  • User Newbie

    Ciao e grazie mille per la risposta 🙂
    Ho capito a cosa mi serve l'istruzione setChildIndex(), ma potresti spiegarmi meglio alcuni passaggi?
    Nella riga "setChildIndex(libro1,2)" il numero 2 per cosa sta? E' quello che mi stabilisce l'ordine?
    E le coordinate x e Y sono standard?

    Voglio essere in grado di spiegare perché ho utilizzato questo metodo!


  • Super User

    Numero 2 è il livello superiore, nel tuo filamto metti 6 uno in meno dei libri, lascia perdere lo scaleX e scaleY altrimenti ti incasini dovresti cambiare la struttura del filmato, puoi benissimo mettere setChildIdex() prima del gotoAndPlay() del tuo filmato.


  • User Newbie

    Io però il gotoAndPlay() l'ho messo all'interno del clip filmato del rispettivo libro. Quindi dovrei mettere il setChildIdex() prima, sempre all'interno del clip filmato?

    E libro1.addEventListener(MouseEvent.CLICK,scala1) dove lo metto?
    Comunque ora farò qualche prova, vediamo cosa esce fuori...

    EDIT: Ho provato a inserire ogni azione all'interno del rispetto clip filmato (libro1, libro2, libro3, ecc), ma ottengo questo messaggio d'errore non appena clicco sul libro:

    RangeError: Error #2006: L'indice fornito è fuori intervallo.
    	at flash.display::DisplayObjectContainer/setChildIndex()
    	at progettohpcs5_fla::Libro1_32/scala1()
    

    Inizio a pensare di aver sbagliato qualcosa nel procedimento di animazione dei libri forse 😞
    Mi sa che più di così non mi puoi aiutare 😞