JavaFX: Efeitos como combinar

JavaFX efeitos especiais pode ter um grande impacto sobre a aparência de suas cenas. Mas espere, tem mais! JavaFX permite melhorar a aparência de suas cenas ainda mais, permitindo a combinação de efeitos especiais, essencialmente, que estabelece um efeito sobre a outra.

Para combinar efeitos, utilize o setInput método, que está disponível para todas as classes principais efeitos. Simplificando, você cria uma instância de uma classe efeito, criar uma instância de uma segunda classe de efeitos, e da cadeia do primeiro para o segundo chamando o primeiro efeito do setInput método e especificando o segundo efeito como a entrada.

Por exemplo, suponha que você deseja combinar uma reflexão com uma sombra e, em seguida, aplicar o efeito combinado a um retângulo. Você pode fazê-lo como este:

rect retângulo = new Rectangle (100.100) -DropShadow sombra = new DropShadow () - Reflexão refletir = new Reflexão () - reflect.setInput (sombra) -rect.setEffect (refletir) -

Neste exemplo, o efeito de sombra será primeiramente processado no rectângulo. Em seguida, o efeito de reflexão será processado no retângulo, criando um reflexo tanto do rectângulo e sua sombra.

image0.jpg

Esta figura mostra como o tabuleiro de xadrez que foi criado na seção anterior aparece com uma sombra acorrentada à perspectiva de transformar. O código que cria os efeitos de perspectiva e de sombra é a seguinte:

PerspectiveTransform e = new PerspectiveTransform () - e.setUlx (100) - // lefte.setUly superior (100) -e.setUrx (450) - // righte.setUry superior (100) -e.setLlx (0) - / / Baixa lefte.setLly (300) -e.setLrx (400) - // Lower righte.setLry (300) -DropShadow sombra = new DropShadow()-shadow.setWidth(20)-shadow.setHeight(20)-shadow.setOffsetX(20)-shadow.setOffsetY(20)-shadow.setRadius(30)-e.setInput(shadow)-board.setEffect(e)-board.setEffect(e)-

Como você pode ver, a perspectiva transformação é aplicada para o tabuleiro de xadrez e sua sombra, criando um efeito realista do tabuleiro de xadrez que flutua acima de uma superfície.

menu