Visualizzazione dei risultati da 1 a 7 su 7

Discussione: cornice in as

  1. #1

    cornice in as

    Ciao a tutti, vorrei sapere se qualcuno ha idea se si possa fare e come, una cornice in action script.

    Vado a spiegare:

    Ho un menù, e ad ogni bottone si apre un mc che carica un FLV. siccome i video caricati sono sempre molto scuri ed il fondo del sito è nero, vorrei che all'apparizione del video (immaginiamo rettangolare) dall'angolo in alto a sinistra del video stesso partisse una linea di 1-2 px che in 1 secondo vada a descrivere l'intera cornice, procedendo in senso orario!

    Ovviamente saprei farlo usando la timeline ma vorrei realizzarlo con as!

    è possibile?!

    grazie a tutti
    Io_FraNo

  2. #2

  3. #3
    proprio ieri ho trovato l'evento

    onMetaData che restituisce alcuni parametri dei video tra i quali la dimensione (il numero di parametri dovrebbe variare in base al programma che ha creato l'flv).

    codice:
    my_ns.onMetaData = function(evt:Object):Void {
    // duration = evt.duration;
    	for (prop:String in evt) {
                 trace(prop + ": " + evt[prop])
    	}
    };
    Da qui puoi ricavare i dati. Per la cornice boh...io farei 4 rettangoli con

    beginFill(), lineTo() e endFill(), in base a come ti servono (una volta alti un pixel e larghi tot, e una volta larghi un pixel e alti tot), e poi ne animerei lo scale con le tween

    Però per farlo più semplice farei direttamente una cornice e la farei comparere in alfa.

  4. #4
    grazie innanzi tutto, purtroppo me l'hanno chiesta che si costruisca in quel modo sopra indicato!

    Detto questo ... beh... io sono un c..ca in as! Mi indicheresti meglio la via?!

    grazie ancora
    Io_FraNo

  5. #5
    E' un po' lungo, vediamo che si può fare.

    Innanzitutto per semplificarmi la vita utilizzerei una classe per le tween, io uso da parecchio tweenlite, la scarichi da qua http://blog.greensock.com/tweenliteas2/



    ricavate le dimensioni farei


    codice:
    import gs.TweenLite;
    import mx.transitions.easing.*
    
    // w e h vanno trovate col onMetaData
    w = 250
    h = 50
    
    var cc:MovieClip = this.createEmptyMovieClip("cornice", this.getNextHighestDepth())
    
    var up:MovieClip = cc.createEmptyMovieClip("cup", cc.getNextHighestDepth())
    
    up.beginFill(0xFFFFFF,100)
    up.lineStyle(0,0,0)
    up.lineTo(w,0)
    up.lineTo(w,1)
    up.lineTo(0,1)
    up.lineTo(0,0)
    up.endFill()
    
    //trace(up)
    
    TweenLite.from(up, .3, {_xscale:0, ease:Regular.easeOut})
    
    var dx:MovieClip = cc.createEmptyMovieClip("cdx", cc.getNextHighestDepth())
    
    dx.beginFill(0xFFFFFF,100)
    dx.lineStyle(0,0,0)
    dx.lineTo(1,0)
    dx.lineTo(1,h)
    dx.lineTo(0,h)
    dx.lineTo(0,0)
    dx.endFill()
    
    dx._x = w-1
    
    TweenLite.from(dx, .3, {delay:.3, _yscale:0, ease:Regular.easeOut})
    
    var dw:MovieClip = cc.createEmptyMovieClip("cdw", cc.getNextHighestDepth())
    
    dw.beginFill(0xFFFFFF,100)
    dw.lineStyle(0,0,0)
    dw.lineTo(w,0)
    dw.lineTo(w,1)
    dw.lineTo(0,1)
    dw.lineTo(0,0)
    dw.endFill()
    
    dw._y = h-1
    
    TweenLite.from(dw, .3, {delay:.6, _x:w, _xscale:0, ease:Regular.easeOut})
    
    
    var sx:MovieClip = cc.createEmptyMovieClip("csx", cc.getNextHighestDepth())
    
    sx.beginFill(0xFFFFFF,100)
    sx.lineStyle(0,0,0)
    sx.lineTo(1,0)
    sx.lineTo(1,h)
    sx.lineTo(0,h)
    sx.lineTo(0,0)
    sx.endFill()
    
    
    TweenLite.from(sx, .3, {delay:.9, _y:h, _yscale:0, ease:Regular.easeOut})
    Ho testato e funzia

  6. #6
    dirti grazie è il minimo, ora la provo e ti faccio sapere!

    Grazie 1000
    Io_FraNo

  7. #7
    Sì, ovvio scarica la libreria che ti ho detto, e segui le istruzioni per "installarla", altrimenti non vedi nulla ^^

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.