Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by stahli,
21. Sep 2017
Wenn Du mal Zeit und Lust hast, kannst Du ja mal ein kurzes Video veröffentlichen. Würde mich mal interessieren, wie das bei einer realen Anwendung rüber kommt.
Kann cool sein, kann aber auch nerven...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by stahli,
17. Sep 2017
Hast Du versucht, das zu compilieren?
Das geht so nicht, da man Pos_End nichts zuweisen kann, da das eine Konstante ist.
Ich hatte vorhin schonmal versucht, die Starthöhe zu berücksichtigen.
Das ist mir aber nicht gelungen.
Vielleicht Zacherl man noch einen Tipp geben.
Ich denke aber, dass eine Kurvenfunktion dafür die bessere Lösung wäre.
(Ich bin aber mathematisch leider eine Niete...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by stahli,
16. Sep 2017
Die Funktion ermittelt nicht, welche Höhe beim Start vorliegt, sondern entscheidet nur, ob von groß nach klein oder von klein nach groß animiert wird.
Fixen kannst Du das ggf. so:
while (D < Duration) do
begin
H := POS_START + POS_END - Round(POS_END * QuintEasing(D, Duration));
if (H < Height) then
Height := H;
Application.ProcessMessages;
D :=...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by stahli,
16. Sep 2017
Müsste es vielleicht so sein?
iTmp := iMaxHeight
Es würde dann die maximale Höhe eingestellt (wenn ich das richtig interpretiere).
Sonst startest Du mit der maximalen+minimalen Höhe.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by stahli,
16. Sep 2017
Ich habe mal schnell meinen Schnipsel (auch als Anregung) rausgesucht.
Vielleicht kannst Du Dir davon etwas ableiten.
Ich habe ein aktuelles und ein Ziel-Rect. Das aktuelle Rects wird so lange verändert, bis die Zielpositionen erreicht sind.
if (DropRect.IsEmpty) then
begin
if (not DropRectReal.IsEmpty) then
begin
X := DropRectReal.Left + (DropRectReal.Width...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by stahli,
16. Sep 2017
Was ist denn seltsam an Deinem Code und was funktioniert nicht wie gewünscht?
Armin hatte hier mal einen netten Effekt umgesetzt: http://www.delphipraxis.net/156662-tester-gesucht-laufen-animationen-fluessig.html
Grundsätzlich könntest Du eine Zielbreite festlegen und in einem Timer schrittweise dorthin erhöhen/reduzieren.
Dabei habe ich mal den Wert immer um die hälfte der Restdifferenz...