Wenn wir ein Objekt in Flash zeichnen und es in einen Movieclip oder ein Sprite konvertieren, wie wird es in Flash gespeichert oder dargestellt? Ich weiß, dass es in der Vektorgrafik mithilfe von Formeln als Liniensegmente gespeichert oder dargestellt wird. Gibt es eine Möglichkeit, die Eckpunkte der gezeichneten Form zu ermitteln?
Angenommen, ein einfaches Rechteck wird gezeichnet und in einen Movieclip konvertiert. Gibt es überhaupt eine Möglichkeit, die Eckpunkte und Liniensegmente vom Sprite zu erhalten? Damit wird seine Form erhalten. Es sollten genügend Informationen eingeholt werden, damit die Form repliziert werden kann. Das ist der Schlüssel - die Replikation.
Wo speichert Flash in einfachen Worten Informationen zu einer Form, die gezeichnet wurde, damit wir sie erhalten und versuchen können, die Form selbst zu replizieren?
quelle
Antworten:
Wenn ich Ihren Kommentar richtig interpretiert habe, möchten Sie: Sprites in Flash beliebig formen und die Form dieser Sprites automatisch extrahieren, um sie als Kollisionsformen in Box2d zu verwenden
In der Regel sind Kollisionsformen viel einfachere Formen als das grafische Element, das sie darstellen (Leistung). Ein sehr detailliertes 3D-Modell kann nur durch einen abgeschrägten Zylinder dargestellt werden.
Einige physische Körper können automatisch durch Algorithmen erstellt werden, aber es ist auch üblich, sie manuell zu zeichnen / modellieren. Wenn Sie nicht über eine große Anzahl unterschiedlich geformter Sprites verfügen, lohnt es sich höchstwahrscheinlich nicht, einen Algorithmus zu implementieren, der Formen für Sie extrahiert.
Wenn Sie sich das folgende Bild ansehen, können Sie sehen, dass eine sehr komplexe Form durch einige Kreise und einfache Polygone dargestellt werden kann (muss konvex sein!). Das manuelle Zeichnen dieser Formen ist (höchstwahrscheinlich) jedem Algorithmus überlegen, den Sie entwickeln können.
Sie können diese Formen in einem Vektorwerkzeug wie Illustrator oder Inkscape zeichnen und in SVG exportieren, das leicht analysiert werden kann. Oder verwenden Sie Flash und exportieren Sie die Formen als FXG. Dies ist auch ein Format, das leicht analysiert werden kann.
Wenn ich Sie noch nicht überzeugt habe und Sie die Formen wirklich programmgesteuert aus Ihren Sprites erstellen möchten, sind hier zwei Ansätze, die möglicherweise funktionieren.
quelle
"Flash" speichert alle Informationen des Films oder Videospiels in einem eigenen Format. Die Daten werden in einem Vektorformat gespeichert. Dies ist ein Format mit einer mathematischen Definition. Dies ist der Hauptunterschied bei Bitmaps, da Sie das Bild ohne Datenverlust skalieren können.
Sie können auf die SWF-Datei zugreifen. Hier finden Sie die Spezifikation http://www.adobe.com/devnet/swf.html. Außerdem können Sie die Movieclips, Formen, Koordinaten usw. analysieren. Da das SWF-Format sehr groß ist, können Sie es verwenden Den Code des SWFRIP-Projekts finden Sie unter http://sourceforge.net/projects/swfrip/. Dort erfahren Sie, wie Sie eine SWF-Datei analysieren können.
Mit etwas Geduld können Sie die gewünschten Daten erhalten.
quelle