Hallo!
Ich bastel jetzt schon eine Ganze weile daran, und bekomme es einfach nicht vernünftig hin:
In einem Label wird ein Dezimalwert angezeigt (4 Nachkommastellen). Dieser soll nun auf einen neuen Wert geändert werden wobei die Änderung im Label angezeigt wird. Der aktuelle Wert soll also bis zum neuen Wert rauf oder runter gezählt werden. Das reine rauf oder runter Zählen ist mit hilfe eines Timers kein Problem.
Es sieht aber nicht schön aus, wenn "linear" gezählt wird, sich der Wert also in jedem Schritt um den gleichen Betrag ändert. Das Zählen zu verlangsamen, also die Abstände zwischen den Timeraufrufen zu verlängenr sieht ebenfalls nicht gut aus. Daher würde ich gerne einen "Ease-out" Effekt beim Zählen verwenden. Die Differenz zwischen neuem und aktuellem Wert soll also erst in sehr großen Schritten abnehmen und die Schritte dann immer kleiner werden. Egal wie groß die Differenz ist, die Änderung soll immer gleich lange dauern. Wie mache ich das?
Vor langer Zeit war ich gar nicht mal so schlecht in Mathe aber jetzt stelle ich fest, dass ich quasi nichts mehr kann
Ich brauche also eien Funktion die zunächst schnell fällt und sich dann abflacht. Aber sah so eine Funktion noch mal aus? S-Funktionen, die also ein "Ease-Out" UND ein "Ease-In" haben, sind mir schon genug eingefallen. Aber ein reines Ease-Out will mir nicht gelingen.
Weiß jemand Hilfe?
Besten Dank
Ares
---
Moderiert von
Narses: Beiträge zusammengefasst---
Ach ja, die Funktion benötige ich in Delphi und dann auch in einem C# Programm. Ich kann also keine Funktionen verwenden die aus irgendeiner fertigen Bibliothek stammen (wie z.B. smoothstep bei Python).