Video: Star Wars - Spezialeffekte | Making Of 2024
Mit Spezialeffekten in JavaFX können Sie beispielsweise das Aussehen der Knoten in Ihrem Szenengraph verschönern, indem Sie Spezialeffekte wie Unschärfen, Schatten, Farbverschiebungen, Glühen usw. hinzufügen… Sie können sogar eine Perspektive hinzufügen, um Ihrer Anwendung ein dreidimensionales Aussehen zu verleihen, ohne die eigentliche 3D-Programmierung durchführen zu müssen.
Spezialeffekte in JavaFX leiten sich von der Effect-Klasse ab, einer abstrakten Klasse mit einer Vielzahl von Unterklassen, mit denen Sie einen Spezialeffekt erstellen können. Es gibt insgesamt 17 Unterklassen der Effect-Klasse, aber Sie müssen möglicherweise nicht alle 17 lernen. Konzentrieren Sie sich stattdessen auf die Effekte, mit denen Sie Ihre Formen realistischer gestalten können, indem Sie Verschwommenheit, Schatten, Reflexionen und Glühen hinzufügen.
Alle Effekte funktionieren auf ähnliche Weise. Zuerst erstellen Sie eine Instanz der Klasse des Effekts, indem Sie ihren Standardkonstruktor aufrufen. Dann legen Sie optional die Eigenschaften des Effekts fest, indem Sie eine oder mehrere set-Methoden aufrufen. (In vielen Fällen sind die Standardeigenschaftenwerte angemessen, sodass Sie diesen Schritt häufig überspringen können.) Schließlich wenden Sie den Effekt auf einen Knoten an, indem Sie die setEffect-Methode des Knotens aufrufen.
Zum Beispiel ist hier ein bisschen Code, der ein Rechteck erstellt, es füllt und dann einen Schlagschatten hinzufügt:
Rechteck r1 = neues Rechteck (50, 50, 100, 100); r1. setFill (Farbe. LIGHTGRAY); r1. setStroke (Farbe. SCHWARZ); r1. setStrokeWidth (2); DropShadow shadow1 = neuer DropShadow (); r1. setEffect (shadow1);
Diese Abbildung zeigt das Ergebnis dieses Effekts. Wie Sie sehen können, ist das Rechteck von einem subtilen Schatten umgeben.
Die setEffect-Methode wird von der Node-Klasse definiert, was bedeutet, dass Sie einen Effekt auf einen beliebigen Knoten in Ihrem Szenengraphen anwenden können. Der Effekt wird nicht nur auf den Knoten angewendet, dessen setEffect-Methode Sie aufrufen, sondern auch auf alle untergeordneten Elemente dieses Knotens. In der Tat, wenn Sie setEffect im Wurzelknoten einer Szene aufrufen, wird der Effekt auf die gesamte Szene angewendet.