2017-08-27 3 views
-1

Ich bin auf der Suche nach einem Sprite-Animation-Editor. Ich habe das Laden meiner benutzerdefinierten Animationsdatei fertig, aber jetzt müssen Sie das eigentliche UI starten. Ich bin wirklich nur fest, welche Widgets ich verwenden würde, um meine Animation tatsächlich zu spielen. Ich muss in der Lage sein, zu bestimmten Rahmen zu gehen, zu spielen, zu pausieren, zu loopen, usw. Sobald ich mit dem Betrachtungsabschnitt fertig bin, plane ich, die Bearbeitung hinzuzufügen.Welche Qt-Widgets sollten für Sprite-Animation-Viewer verwendet werden

Ich habe AnimatedSprite in qt docs gesehen, aber das scheint nur die Wiedergabe von Sprites in der gleichen Datei zu ermöglichen. In meiner Situation können Sprites aus mehreren Bilddateien stammen und folgen manchmal keinem Gitter wie Sprite Cutter.

+0

Ihr aktuelles Problem ist breit, und das ist off-topic in SO. Ich empfehle, die Beschreibung Ihres Problems zu verbessern. – eyllanesc

Antwort

1

Zuerst sollten Sie entscheiden, ob Sie QML oder Widgets verwenden möchten. AnimatedSprite ist QML-bezogene Klasse. Alle widgetbezogenen Klassen beginnen mit dem Buchstaben "Q".

Wenn Sie sich entscheiden, Qt Widgets zu verwenden, würde ich empfehlen, Qt Animation Framework in Kombination mit Qt Graphics View Framework zu betrachten. Höchstwahrscheinlich lässt es Sie nicht alles tun, was Sie wollen, aber es sollte Ihnen eine Fülle nützlicher Tools zur Verfügung stellen.

Wenn Sie hier sind, sind some examples.

Ich hoffe, es hilft.

0

Werfen Sie einen Blick auf QMovie. Diese Klasse bietet möglicherweise alle erforderlichen Methoden, sofern Sie sie nur zum Anzeigen verwenden möchten. Die QMovie kann an eine QLabel übergeben werden, um die Animation anzuzeigen.

QMovie unterstützt jedoch nur gif out of the box (und es gibt ein Third-Party-Plugin für apng-Dateien). Sie müssten wahrscheinlich Ihr eigenes Image-Handle-Plugin erstellen, um Ihr Format zu unterstützen.

Wenn dies nicht anwendbar oder zu kompliziert ist, müssen Sie höchstwahrscheinlich Ihr eigenes benutzerdefiniertes Widget erstellen. Schauen Sie sich die painter example an. Das Abspielen einer Animation ist nicht so schwer, wenn Sie alle Bilder haben. Eine einfache QTimer, um das Bild in einer konstanten Rate zu zeichnen sollte funktionieren.

Verwandte Themen