Toon posts:

[flash] exponent

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik gebruik Math.pow(l,2.0) in flash 5 voor een ease-in tbv. interpolatie. negen van de tien keer gaat het goed. niet altijd dus. als ik l*l gebruik gaat het wel goed.
de exponent wil ik aan kunnen passen dus is de laatste optie geen oplossing. wat doe ik niet goed?

Verwijderd

euh ... meer info?

Verwijderd

Topicstarter
ik heb een movieclip die wil ik animeren en aangezien je dat beter in actionscript kan doen qua omvang van je flash animatie gebruik ik interpolatie. ik heb een movieclip die ik van A naar B wil animeren in een op te geven aantal frames.
ik interpoleer de movieclip echter niet lineair maar logaritmisch ofwel met een exponent. dus lambda (bereik 0.0 - 1.0) versnel/vertraag ik afhankelijk of ik een ease-in of ease-out wil hebben. l=Math.pow(l,2.0) waarna ik deze gebruik voor de interpolatie lambda. duidelijk?
2.0 is even fictief kan ook 0.5 zijn natuurlijk

Verwijderd

Ik ben zelf ook iemand die het wel 80x opnieuw uitvind, alleen om er van te leren, maar hiero:

http://www.robertpenner.com/scripts/easing_equations.txt

Verwijderd

Topicstarter
Op donderdag 21 februari 2002 16:51 schreef B-Top het volgende:
Ik ben zelf ook iemand die het wel 80x opnieuw uitvind, alleen om er van te leren, maar hiero:

http://www.robertpenner.com/scripts/easing_equations.txt
ik vind niets uit heb ik het idee :) ik heb even gekeken maar dat is niet wat ik zoek. ik heb in principe alleen de standaard Math.pow functie nodig.

Verwijderd

voor zover ik gekeken heb zijn negatieve waardes het enige waar Flash over de rooie zou kunnen gaan met de pow functie. Maar dat was ook opgelost dacht ik...

je zou ook de pow functie zelf kunnen proberen te herschrijven en kijken oftie dan stabieler is :) maar ja dat is uitvinden -:)

edit:

[code]x tot de macht y = exp(y * ln(x))[/code]

Verwijderd

Topicstarter
Op donderdag 21 februari 2002 17:45 schreef mr10 het volgende:
voor zover ik gekeken heb zijn negatieve waardes het enige waar Flash over de rooie zou kunnen gaan met de pow functie. Maar dat was ook opgelost dacht ik...

je zou ook de pow functie zelf kunnen proberen te herschrijven en kijken oftie dan stabieler is :) maar ja dat is uitvinden -:)

edit:

[code]x tot de macht y = exp(y * ln(x))[/code]
ik gebruik alleen waarden van 0.0 tot 1.0; niet negatief dus
je voorgestelde exp oplossing wordt niet ondersteund door flash 5... helaas

Verwijderd

Pff, heb zelf ook wat exponent probleempjes achter de rug, misschien wat te simpel gedacht maar try:
code:
1
Math.pow(Number(l),2.0);

Anders zou een fla'tje natuurlijk altijd goed doen om zelf beetje te proberen :)...

Verwijderd

Topicstarter
Op donderdag 21 februari 2002 19:30 schreef Seraph het volgende:
Pff, heb zelf ook wat exponent probleempjes achter de rug, misschien wat te simpel gedacht maar try:
code:
1
Math.pow(Number(l),2.0);

Anders zou een fla'tje natuurlijk altijd goed doen om zelf beetje te proberen :)...
heb ik geprobeerd... werkt helaas niet :).
merkwaardig probleem!

Verwijderd

je kunt altijd nog kijken of het helpt om je player te updeten ;)

Verwijderd

Op donderdag 21 februari 2002 19:39 schreef de_das het volgende:

[..]

heb ik geprobeerd... werkt helaas niet :).
merkwaardig probleem!
Jah ben nou wel benieuwd naar n fla'tje eigenlijk, handiger nadenken :)...

Wat voor uitkomst krijg je dan bij:
code:
1
trace(Math.pow(l,2.0));

Krijg je dan 'NaN' of een verkeerde uitkomst??

Verwijderd

Op donderdag 21 februari 2002 16:35 schreef de_das het volgende:
ik heb een movieclip die wil ik animeren en aangezien je dat beter in actionscript kan doen qua omvang van je flash animatie gebruik ik interpolatie. ik heb een movieclip die ik van A naar B wil animeren in een op te geven aantal frames.
ik interpoleer de movieclip echter niet lineair maar logaritmisch ofwel met een exponent. dus lambda (bereik 0.0 - 1.0) versnel/vertraag ik afhankelijk of ik een ease-in of ease-out wil hebben. l=Math.pow(l,2.0) waarna ik deze gebruik voor de interpolatie lambda. duidelijk?
2.0 is even fictief kan ook 0.5 zijn natuurlijk
Ik snap dat je je movieclip wil interpoleren, want elke byte telt tenslotte, alleen ik zou in dit geval de movieclip gewoon tweenen.
Waarom? omdat je 0.0 niet kan berekenen in flash 5, je krijgt dan een NaN (not a number) en dat is een bug, want in principe moet ie een 1 opleveren.
Ik zou het movieclippie gewoon gaan tweenen, is iets zwaarder, maar op deze manier zoals jij beschrijft lukt niet.
Op donderdag 21 februari 2002 19:52 schreef Seraph het volgende:

[..]

Jah ben nou wel benieuwd naar n fla'tje eigenlijk, handiger nadenken :)...
me too!!

Verwijderd

Is dat niet opgelost met de nwe. player?
Issues addressed with versions 5,0,41,0 and 5,0,42,0 of Macromedia Flash Player 5

Math functions
The Math.pow function now correctly accepts negative numbers.
edit:

disregard, dat bovenste is echt alleen voor negatieve nummers - hmmm... t werkt inderdaad niet als de eerste waarde van je pow functie 0 wordt ... (dus Math.pow(0.0,x) = NaN
Pagina: 1