Ich habe eine Qt 5.6 NumberAnimation
(viele, in der Tat). Ich möchte die Auswertungszeit von ihnen explizit kontrollieren. Stellen Sie sich zum Beispiel vor, dass dies ein Animationsprogramm ist und der Benutzer Animationskurven erstellt hat und nun den Abspielkopf entlang der Timeline vor- und zurückschrubbt. Immer wenn ich eine neue Abspielzeit erhalte, möchte ich alle Animationen bewerten, um den für diese Zeit geeigneten Wert zu erzeugen.Kontrolle Animationszeit (Scrubbing) in QML
Aus der Qt-Dokumentation sieht das nicht möglich. Die von Animation
geerbten Mitglieder erlauben mir start()
und pause()
und resume()
die Animation, restart()
von Anfang an oder complete()
bis zum Ende. Aber ich sehe keine Methode oder Eigenschaft, die es mir erlaubt, die Zeit zu kontrollieren. Allerdings habe ich (anhand von Beispielen) viele QML-Funktionen gefunden, die zwar möglich, aber nicht offensichtlich dokumentiert sind. Ist das möglich mit NumberAnimation
?
Wenn dies mit NumberAnimation
nicht möglich ist, gibt es eine andere Möglichkeit, dies zu tun? Eine Möglichkeit, stattdessen einen beliebigen 2D-Pfad für die Animation darzustellen und dann den Y-Schnittpunkt an einer gegebenen X-Koordinate entlang des Pfades auszuwerten?
Number wird „Dauer“ von PropertyAnimation vererben, Sie, dass versucht haben? –
@FrankOsterfeld Danke für den Vorschlag, aber nein, das habe ich nicht versucht. Die ['duration' Eigenschaft] (http://doc.qt.io/qt-5/qml-qtquick-propertyanimation.html#duration-prop) steuert die Gesamtlänge der Animation (wie lange es dauert vom Start weg zu laufen) beenden). Es erlaubt mir nicht, durch die Animation auf 95% zu springen, dann auf 94%, dann auf 90%, dann auf 25%, dann auf 75% usw. – Phrogz