Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    differenze tra Player e AS?

    Che complicazione passare da un player all'altro.

    Per i miei movimenti elastici ho sempre usato questa funzione, richiamata in un onEnterFrame o su due livelli, a seconda della versione di flash:

    function Rubber(mc, centerX, centerY, elasticity) {
    mc.dx = ((centerX-mc._x)*.25)+(mc.dx*elasticity);
    mc.dy = ((centerY-mc._y)*.25)+(mc.dy*elasticity);
    mc._x += mc.dx;
    mc._y += mc.dy;
    }

    //"mc" è il movieClip da spostare
    //"centerX" e "centerY" sono le coordinate x,y che il mC deve raggiungere
    //"elasticity" è il fattore di elasticità che non deve mai raggiungere l'unità, ma deve essere sempre minore di 1 e maggiore di 0

    Ora però con il Flash Player 7 e AS2 questa funzione non funziona (scusate il gioco di parole) più.

    Qualcuno sa aiutarmi e magari dirmi come posso modificarla?
    Il problema è che non riesce più a calcolare "mc.dx".

    Grazie!
    Come sempre.

  2. #2

    Re: differenze tra Player e AS?

    Originariamente inviato da 8bit
    Che complicazione passare da un player all'altro.

    Per i miei movimenti elastici ho sempre usato questa funzione, richiamata in un onEnterFrame o su due livelli, a seconda della versione di flash:

    function Rubber(mc, centerX, centerY, elasticity) {
    mc.dx = ((centerX-mc._x)*.25)+(mc.dx*elasticity);
    mc.dy = ((centerY-mc._y)*.25)+(mc.dy*elasticity);
    mc._x += mc.dx;
    mc._y += mc.dy;
    }

    //"mc" è il movieClip da spostare
    //"centerX" e "centerY" sono le coordinate x,y che il mC deve raggiungere
    //"elasticity" è il fattore di elasticità che non deve mai raggiungere l'unità, ma deve essere sempre minore di 1 e maggiore di 0

    Ora però con il Flash Player 7 e AS2 questa funzione non funziona (scusate il gioco di parole) più.

    Qualcuno sa aiutarmi e magari dirmi come posso modificarla?
    Il problema è che non riesce più a calcolare "mc.dx".

    Grazie!
    Come sempre.
    succede perchè al primo passaggio mc.dx e mc.dy non sono definiti. Con l'ultima versione le cose sono migliorate e non si possono più fare calcoli numerici con variabili non numerici (menomale).

    quindi basta aggiungere questa in testa alla funzione:
    if(!mc.dx) mc.dx = 0;
    if(!mc.dy) mc.dy = 0;
    ossia se mc.dx e mc.dy hanno valore undefined vengono inizializzatia 0

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

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.