Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232

    attachMovie ed effetto fade in e fade out

    Salve!

    Ho vari pulsanti sullo stage che al clic aprono dei MC tramite attachMovie nella stessa posizione e sullo stesso livello, come applicare l'effetto fade in al caricamento dei MC e l'effetto fade out alla rimozione del MC che l'ascia il posto al caricamento di un altro MC (sempre con l'effetto fade in)?

  2. #2
    Per dare l'effetto fadein

    basta che carichi il clip con l'oggetto MovieClipLoader, e usi i suoi listener


    codice:
    var mioLoad:MovieClipLoader = new MovieClipLoader();
    var listLoad:Object = new Object();
    
    listLoad.onLoadInit=function(target:MovieClip){
       //funzione fadeIn, usa la classe Tween di flash, ora non ricordo bene il costruttore è una roba tipo
    
     // new Tween(target, _alpha, 0, 100, Regular.easeOut,1, true)
    }
    
    mioLoad.addListener(listLoad)
    
    mioLoad.loadClip("pathdacaricare.swf", TargetInCuiCarico)
    Poi per fare l'effetto in cui un clip si carica in fade sopra l'altro devi giocare con questo sistema sulle depth dei clip in cui caricherai

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Originariamente inviato da Stan
    Per dare l'effetto fadein

    basta che carichi il clip con l'oggetto MovieClipLoader, e usi i suoi listener


    codice:
    var mioLoad:MovieClipLoader = new MovieClipLoader();
    var listLoad:Object = new Object();
    
    listLoad.onLoadInit=function(target:MovieClip){
       //funzione fadeIn, usa la classe Tween di flash, ora non ricordo bene il costruttore è una roba tipo
    
     // new Tween(target, _alpha, 0, 100, Regular.easeOut,1, true)
    }
    
    mioLoad.addListener(listLoad)
    
    mioLoad.loadClip("pathdacaricare.swf", TargetInCuiCarico)
    Poi per fare l'effetto in cui un clip si carica in fade sopra l'altro devi giocare con questo sistema sulle depth dei clip in cui caricherai
    Con MovieClipLoader si possono linkare MC nella Libreria? Ma qualche metodo con l'attachMovie non esiste?

    Grazie!

  4. #4
    Se lo fai con attachMovie è ancora più semplice

    codice:
    var clip = _root.attachMovie("idlibreria", "nome", _root.getNextHighestDepth())
    new Tween(clip, _alpha, 0, 100, Regular.easeOut,1, true)

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Originariamente inviato da Stan
    Se lo fai con attachMovie è ancora più semplice

    codice:
    var clip = _root.attachMovie("idlibreria", "nome", _root.getNextHighestDepth())
    new Tween(clip, _alpha, 0, 100, Regular.easeOut,1, true)
    Ti ringrazio del tuo aiuto, mi aiuti ad impostare la cosa? Io al momento come azione sul pulsante ho
    Codice PHP:
    on (press) {
        
    _root.attachMovie("sezione1_mc""sezione1_mc"1, {_x:50_y:50});

    e su un secondo puslante ho
    Codice PHP:
    on (press) {
        
    _root.attachMovie("sezione2_mc""sezione2_mc"1, {_x:50_y:50});

    come dovrei fare con il tuo metodo il fade in e out?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Allora, ho impostato l'effetto fade in delle sezioni nuove che vengono caricate con attachMovie tramite questo codice
    Codice PHP:
        on (press) {
        
    import mx.transitions.*;
        
    import mx.transitions.easing.*;

        var 
    sezione1_mc _root.attachMovie("sezione1_mc""sezione1_mc"1, {_x:50_y:50});
        new 
    Tween(sezione1_mc"_alpha"None.easeNone01000.5true);

    Come faccio ad applicare l'effetto fade out alla precedente sezione caricata sempre sul level 1?

    Pensavo ad una cosa, ma se ci sono altre soluzioni, ben vengano, esiste la possibilità tramite AS2 di applicare l'effetto fade out al level 1 (contenuto) e dopo 1 secondo ad esempio, far apparire sempre sul level 1 il MC attachato con l'effetto Tween?

  7. #7
    Devi fare prima fadeout su una (lasciando magari bianco o nero) e poi entri in fadein sull'altra? Oppure vuoi che la nuova entri in fade sopra la vecchia?
    Nel caso basta fare fadein sulla nuova e basta.

    Comunque devi fare una cosa simile a quella precedente.
    Quando clicchi il bottone non rimuovi il clip, ma fai una tween sul clip precedente, a fine tween lanci la nuova sezione
    codice:
    function fadeOut()
      var animazione =  new Tween(clip, "_alpha", None.easeNone, clip._alpha, 0, 0.5, true); // fadeOut
    
    
      animazione.onMotionFinished=function(){
        target.removeMovieClip()
        apriNuova()
      }
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Mi sento che ci siamo perché la tua idea mi sembra buona, vorrei capire meglio come applicarla alla mia situazione di AS.

    Guardando il tuo codice capisco che "clip" dovrebbe essere un rettangolo da utilizzare per fare fade out sugli oggetti da "coprire", giusto? Visto che io lavoro con attachMovie lo metto in libreria e lo esperto in AS.

    Per andare alla sezione 1 ho il seguente codice sul pulsante:
    Codice PHP:
    on (press) { 
    ____import mx.transitions.*; 
    ____import mx.transitions.easing.*; 

    ____var sezione1_mc _root.attachMovie("sezione1_mc""sezione1_mc"1, {_x:50_y:50}); 
    ____new Tween(sezione1_mc"_alpha"None.easeNone01000.5true); 

    e per andare alla sezione 2 il seguente
    Codice PHP:
    on (press) { 
    ____import mx.transitions.*; 
    ____import mx.transitions.easing.*; 

    ____var sezione2_mc _root.attachMovie("sezione2_mc""sezione2_mc"1, {_x:50_y:50}); 
    ____new Tween(sezione2_mc"_alpha"None.easeNone01000.5true); 

    entrambi fanno fade in

    aggiornando il tuo ho il seguente codice

    Codice PHP:
    on (press) { 
    ____import mx.transitions.*; 
    ____import mx.transitions.easing.*; 

    function 
    fadeOut()
      var 
    animazione =  new Tween(clip"_alpha"None.easeNoneclip._alpha00.5true); // fadeOut

      
    animazione.onMotionFinished=function(){
        
    clip.removeMovieClip()
    ____var sezione1_mc _root.attachMovie("sezione1_mc""sezione1_mc"1, {_x:50_y:50}); 
    ____new Tween(sezione2_mc"_alpha"None.easeNone01000.5true); 
      }

    ma Flash mi riporta parecchi errori di sintassi, cos'è che non va?

  9. #9
    Facciamo un passo indietro.

    clip sarebbe la sezione che devi chiudere in fade.
    Basta portare il suo alfa a 0 senza utilizzare altri clip per coprirla.

    Al momento che premi il bottone io fare così

    codice:
    bottone.onPress=function(){
    
    
      var IdAttach = this.idattach //questo lo devi mettere come variabile del bottone in qualche modo, se è un ciclo lo fai nel ciclo, se duplichi questo codice invece lo scrivi a mano
      //se c'è già aperta una funzione
    
      if (sezione!=undefined){
        var animazione =  new Tween(clip, "_alpha", None.easeNone, clip._alpha, 0, 0.5, true); // 
    
        animazione.onMotionFinished=function(){
           //a fine animazione tolgo la sezione e la riapro
            sezione.removeMovieClip()
            apriSezione(IdAttach )
        }  
      }else{
            apriSezione(IdAttach )
      }
    }
    
    function apriSezione(id){
      var sezione1_mc = _root.attachMovie("sezione", "sezione1_mc", 1, {_x:50, _y:50});
      new Tween(sezione1_mc, "_alpha", None.easeNone, 0, 100, 0.5, true); 
    }
    ovviamente correggi gli eventuali errori

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    232
    Ho problemi nel passare la variabile delle 8 sezioni che devo gestire, forse potrei percorre la strada che dicevo, caricare al clic un clip che ho in Libreria e che facendo un fade in mi nasconde il contenuto vecchio e terminato il fade in che nasconde, ci sia il fade in del nuovo contenuto.

    Il mio problema è quello di dire tramite AS2 che al clic prima ci deve essere il fade in di "clip", poi la rimozione di tale MC, alla fine caricare la sezione specifica tramite altro fade in.

    Ora con questo codice
    Codice PHP:
    on (press) { 
        
    import mx.transitions.*; 
        
    import mx.transitions.easing.*; 

        var 
    sezione1_mc _root.attachMovie("sezione1_mc""sezione1_mc"1, {_x:50_y:50}); 
        new 
    Tween(sezione1_mc"_alpha"None.easeNone01000.5true); 

    riesco a fare il fade in della sezione1, come faccio ad avviare con un solo clic questa azione
    Codice PHP:
    var clip _root.attachMovie("clip""clip"2, {_x:50_y:50}); 
        new 
    Tween(clip"_alpha"None.easeNone01000.5true); 
    seguita al suo termine da quest'altra?

    Codice PHP:
        var sezione1_mc _root.attachMovie("sezione1_mc""sezione1_mc"1, {_x:50_y:50}); 
        new 
    Tween(sezione1_mc"_alpha"None.easeNone01000.5true);


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.