Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477

    [AS3] Tween che si inceppa

    Ciao a tutti i forumisti...
    ho una Tween contenuta in una funzione, per poter muovere più oggetti contemporaneamente.
    Qualcuno saprebbe spiegarmi per quale strano motivo 1 volta su 7 le animazioni si bloccano a metà?
    Eppure monitorando la percentuale di impiego del processore non va oltre l'8%....

    Grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    La classe Tween ha la brutta abitudine di incepparsi in particolare quando si usa lo stesso nome per più tween, come probabilmente stai facendo tu, usando un ciclo per le tue animazioni.
    E' un problema che si risolve facilmente usando un array che incrementa automaticamente il suo indice, ma è sempre un po' scomodo quando devi usare riferimenti ad una determinata tween, per fargli fare azioni successive o bloccarla quando non ti serve.
    Per questo da diverso tempo ho accantonato la classe Tween in favore di librerie più affidabili. Personalmente uso la classe Tweener, ma molti dicono che sia migliore e più performante la libreria di greensock, TweenLite o TweenMax.
    Lo sforzo per imparare ad usarle è proporzionale all'uso che ne devi fare e che fai attualmente delle classiche tween.

  3. #3
    greensock tutta la vita :-)

    usarle è semplicissimo, solo che non sono gratuite :-(

    per progetti personali sono ottime, ma per prodotti commerciali bisogna acquistare una licenza, e comunque ne vale la pena

    beta

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Anche la TweenLite è diventata a pagamento? Non lo sapevo

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Ciao And80, grazie della risposta.
    Potresti spiegarmi di preciso cosa intendi per "usare lo stesso nome per più tween"? Tanto per capire meglio cosa dovrei evitare.
    Ad esempio il mio codice è:


    codice:
    function sposta(cosa, dove):void {
    var muovi:Tween=new Tween(cosa, "x", Regular.easeInOut, cosa.x, dove, 30, false);
    }
    Poi richiamo la stessa funzione per più mc contemporaneamente:

    codice:
    function pagina1(event:MouseEvent):void{
    sposta(mc1, 200)
    sposta(mc2, 300)
    sposta(logo, 650)
    }
    Proverò comunque ad utilizzare le altre librerie (devo installare qualcosa in particolare per poterle utilizzare?)

  6. #6
    codice:
    function sposta(nome, cosa, dove):void { var nome:Tween=new Tween(cosa, "x", Regular.easeInOut, cosa.x, dove, 30, false); }

    codice:
    function pagina1(event:MouseEvent):void{ sposta(var1, mc1, 200) sposta(var2, mc2, 300) sposta(var3, logo, 650) }

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    477
    Originariamente inviato da beta_persei
    codice:
    function sposta(nome, cosa, dove):void { var nome:Tween=new Tween(cosa, "x", Regular.easeInOut, cosa.x, dove, 30, false); }

    codice:
    function pagina1(event:MouseEvent):void{ sposta(var1, mc1, 200) sposta(var2, mc2, 300) sposta(var3, logo, 650) }
    Ok, ora ho capito . Non sapevo che il nome della variabile potesse rallentare il richiamo multiplo.
    Grazie a entrambi per i chiarimenti!

    Buon lavoro

  8. #8
    No no calma ragazzi.
    Le greensock (TweenLite/Max) sono gratuite finché l'utente finale (ovvero l'omino al client) non paga nulla.
    Se sei freelencer e fai un sito e ti fai pagare puoi usarle tranquillamente, se lavori in una azienda pure.

    Se però fai un gioco in cui l'utente finale deve pagare per registrarsi o cos'altro, allora devi pagare pure tu.

    Per lo meno era così fino a qualche settimana fa, ora non ho controllato.

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.