JavaFX: cómo combinar efectos
JavaFX efectos especiales pueden tener un impacto importante en la apariencia de sus escenas. Pero espere, hay más! JavaFX permite mejorar la apariencia de sus escenas aún más por lo que le permite combinar los efectos especiales, esencialmente, por el que uno de los efectos sobre otra.
Para combinar efectos, se utiliza el setInput método, que está disponible para todas las principales clases de efectos. En pocas palabras, se crea una instancia de una clase de efecto, crear una instancia de una segunda clase de efectos, y la cadena de la primera a la segunda mediante una llamada al primer efecto de setInput método y especificando el segundo efecto que el de entrada.
Por ejemplo, suponga que desea combinar una reflexión con una sombra y luego aplicar el efecto combinado de un rectángulo. Puede hacerlo de esta manera:
Rect Rectangle = new Rectangle (100.100) -DropShadow sombra = new DropShadow () - Reflexión reflejan = new Reflexión () - reflect.setInput (sombra) -rect.setEffect (reflexionar) -
En este ejemplo, el efecto de sombra primero se representará en el rectángulo. Entonces, el efecto de la reflexión se representará en el rectángulo, creando un reflejo tanto del rectángulo y su sombra.
Esta figura muestra cómo aparece el tablero de ajedrez que se creó en la sección anterior con una sombra encadenado a la perspectiva de transformar. El código que crea los efectos de perspectiva y de sombra es como sigue:
PerspectiveTransform e = new PerspectiveTransform () - e.setUlx (100) - // superior lefte.setUly (100) -e.setUrx (450) - // superior righte.setUry (100) -e.setLlx (0) - / / Baja lefte.setLly (300) -e.setLrx (400) - // Baja 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 puede ver, la perspectiva de transformar se aplica al tablero de ajedrez y su sombra, creando un efecto realista del tablero de ajedrez flotando sobre una superficie.