Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Zacherl,
21. Sep 2017
Ja, so in etwa. Allerdings reagiert deine Anwendung während der Animation dann auch nicht mehr auf Benutzereingaben.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Zacherl,
18. Sep 2017
Tatsächlich enthält mein Beispielcode einen kleinen Flüchtigkeitsfehler < statt <= in der Schleifenbedingung. Habe die Kurvenfunktionen mal etwas intuitiver gestaltet:
function EaseInQuart(T, B, C, D: Integer): Integer;
var
T2: Single;
begin
T2 := T / D;
Result := Round(C * T2 * T2 * T2 * T2) + B;
end;
function EaseOutQuart(T, B, C, D: Integer): Integer;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Zacherl,
16. Sep 2017
const
DURATION = 1000; // 1 Sek für Gesamtanimation
POS_START = 8;
POS_END = 300;
var
C, D: Cardinal;
begin
C := GetTickCount;
D := 0;
while (D < DURATION) do
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Zacherl,
16. Sep 2017
Stichwort: Easing.
Das sind Algorithmen, die dir eine bestimmte Kurve in Abhängigkeit von der Zeit generieren (bzw. den entsprechenden Multiplikator zu deinem Grundwert). Konkrete Implementierungen findest du auch recht einfach per Google bzw. hatte ich hier auch mal einige Easing-Curves umgesetzt.