Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1

    [pillolina] le easing function non documentate di Mx 2004 [/pillolina]

    Ciao gente. Questo discorso nasce dal fatto che per molto tempo mi sono scritto da solo le funzioni per leasing delle clip (movineti elastici, uniformemente accellerati etc etc.). Solo che ovviamente non erano perfette (dato che in matematica avevo appena appena 6 al liceo classico, il che è tutto dire ) così ho cercati in giro se per caso non vi fosse qualcosa di meglio ed ho scoperto che flash MX 2004 ha buil it alcune classi per il movimeto delle clip.
    Dato che non sono documentate ho pensato di parlarvene, con un semplice esempio. Siccome io non le avevo mai usate, magari mi sbalgio ed allora uccidetemi (o magari correggetemi che così imparo )

    la classe "Tween", almeno nella mia configurazione di sistema si trova qui "C:\Program Files\Macromedia\Flash MX 2004\en\First Run\Classes\mx\transitions\Tween.as"

    la sintassi per instanziare un nuovo ogetto Tween è questa:
    codice:
    mioMovimento = new mx.transitions.Tween(cheClip, qualeProprieta, tipo, inizio, fine, durata, cheMetro);
    In questo caso i parametri rappresentano:
    cheClip -> il riferimento all'istanza che voglio spostare
    qualeProprieta -> mi dice quale proprietà della clip voglio modificare (_x, _y, _xscle, _yscale etc. etc.)
    tipo -> indica il tipo di funzione easing che si vuole usare
    inizio -> il punto di partenza a cui si trova la proprietà della clip prima di modificarla
    fine -> il punto a cui volgio arrivare alla fine dle movimento
    durata -> il tempo che si vuole impiegare per compiere il movimento
    cheMetro -> true se si vogliono usare i secondi come metro per il tempo oppure flase se si vogliono utilizzare i fare. di default è false.

    Le funzioni di easing disponibili sono le seguenti:
    codice:
        Back
        Bounce
        Elastic
        None
        Regular
        Strong
    mentre le direzioni sono le seguenti:
    codice:
        easeIn
        easeOut
        easeInOut
        easeNone
    il terzo parametro per il costruttore è il tipo di easing che si vuole applicare. questo viene definito dalla somma delle funzioni e delle direzioni (anche se non sono sicuro che si chiamino così). ad esempio un tipo di easing potrebbe essere definito così:
    codice:
        tipoEasing = mx.transitions.easing.Elastic.easeOut;
    che mi produrrebbe un movimento elastico con accellerazione uniforme.

    infine, per fare un esempio concreto potremmo creare una cosa del genere:

    codice:
      //SULLO STAGE HO DUE CLIP UNA CHIAMATA miaClip a 0,0, 
      //L'ALTRA CHIAMATA bottone dove vi pare (CHE FANTASIA :))
      function easeIt(mc, inizio, fine, tempo) {
       tipo = mx.transitions.easing.Elastic.easeOut;
       muovi = new mx.transitions.Tween(mc, "_x", tipo, inizio, fine, tempo, true);
      }
      //e poi
      bottone.onRelease = function(){
        _root.easeIt("miaClip", miaClip._x, 30, 1);
      }
    dovrebbe funzionare. se qualcuno ne sa di più , per favore aggiungete tutto quello che potete perchè l'argomento mi interessa


  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    codice:
    Tween 
    
    Inherits from:Object  
    	- Classpath: mx.effects.Tween 
    	- File last modified: Monday, 22 March 2004, 17:27:29 
    
    Summary 
    
    Constructor 
    	- Tween 
    Class properties 
    	- ActiveTweens 
    	- Interval 
    	- IntervalToken 
    	- Dispatcher 
    Class properties inherited from Object prototype 
    Instance properties 
    	- listener 
    	- initVal 
    	- endVal 
    	- duration 
    	- arrayMode 
    	- startTime 
    	- updateFunc 
    	- endFunc 
    	- ID 
    Instance properties inherited from Object __proto__, constructor
    Class methods 
    	- AddTween 
    	- RemoveTweenAt 
    	- DispatchTweens 
    Class methods inherited from Object registerClass 
    Instance methods 
    	- doInterval 
    	- getCurVal 
    	- endTween 
    	- setTweenHandlers 
    	- easingEquation 
    Instance methods inherited from Object 
    addProperty, hasOwnProperty, isPropertyEnumerable, 
    isPrototypeOf, toLocaleString, toString, unwatch, valueOf, watch
    
    Constructor
       Tween
    
    function Tween ( listenerObj, init, end, dur)
    
    Class properties
    
    static ActiveTweens:Array (read,write) 
    
    static Dispatcher:Object (read,write) 
    
    static Interval:Number (read,write) 
    
    static IntervalToken:Number (read,write) 
    
    
    Instance properties
    
    arrayMode:Boolean (read,write)
    
    duration:Number (read,write) 
    
    endFunc:Function 
    
    endVal (read,write) 
    
    ID:Number (read,write) 
    
    initVal (read,write) 
    
    listener:Object (read,write) 
    
    startTime:Number (read,write) 
    
    updateFunc:Function
    
    
    Class methods
    
    static function AddTween ( tween:Tween) : Void
    
    static function DispatchTweens ( Void) : Void
    
    static function RemoveTweenAt ( index:Number) : Void
    
    Instance methods
    
    function doInterval ( )
    
    function easingEquation ( t, b, c, d)
    
    function endTween ( )
    
    function getCurVal ( curTime)
    
    function setTweenHandlers ( update, end)
    ecco gli eventi proprietà....

  3. #3
    Che figata!!
    Ottimo lavoro ragazzi, molto interessanti ste classi

  4. #4
    codice:
    function getCurVal ( curTime)
    Ummm sapete cosa fa esattamente sto metodo?

  5. #5
    qualcuno ha testato a CPU come stiamo messi quando usiamo questa classe ?

    cmq bel lavoro
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Sempre per il tweening, volendo ci sono anche queste

    http://laco.wz.cz/tween/

    Sembrano interessanti, io non ho ancora avuto occasione di provarle bene però

  7. #7
    altra domanda ... e' possibile modificare i parametri durante l' esecuzione o bisogna ogni volta killare l' oggetto e ricrearlo da zero ?

    non ho capito perche' hanno fatto una funzione come se fosse una classe .... cioe', che me ne faccio di un oggetto Tween una volta finita la transazione ?

    Spero di aver detto una fagianata, l' ho provate pochissimo pero' sembrano andare bene e a CPU stiamo bassi ( anche se hanno troppi controlli interni che su movies con altri eventi potrebbe appesantire il tutto inutilmente ... )


    P.S. 3 Kb per una transazione ... :rollo:
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Andr3', se poi provi anche quelle che ho linkato mi fai sapè se ci trovi dei gran problemi, che io ho avuto tempo solo di darci un'occhiata rapida

  9. #9
    Per caso ho trovato pure questo -> http://www.actionscripts.org/tutoria...ed/index.shtml , che può essere un'ottima inegrazione alla pillola di valar

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    Non confondiamoci che c'è ne sono ben 2 Tween in Flash.

    mx.transitions.Tween
    mx.effects.Tween

    Percio ogni 1 con le sue prorietà e con i suoi metodi appriopriati e anche diversi.Se avro tempo durente le feste prepaerero gli esempi anche coi components.


    altra domanda ... e' possibile modificare i parametri durante l' esecuzione o bisogna ogni volta killare l' oggetto e ricrearlo da zero ?

    Ma certo che si.Ovviamente in tutti 2 casi in modi differenti.Adesso non me lo ricordo bene se bisogna sostituire il funzione di calcolo, o basta solo cambiare le proprietà.


    non ho capito perche' hanno fatto una funzione come se fosse una classe .... cioe', che me ne faccio di un oggetto Tween una volta finita la transazione ?

    Allora perchè stiamo parlando di AS2???
    Usiamo AS1. :maLOL:

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.