JavaFX | Clase de punto de luz

La clase Light.Spot es parte de JavaFX. La clase Light.Spot se utiliza para crear un punto de luz con valores configurables de vector de dirección de luz, enfoque y color en el espacio 3D. La clase Light.Spot hereda la clase Light.Point .

Constructores de la clase:

  1. Spot() : crea una luz puntual con valores predeterminados
  2. Punto (doble x, doble y, doble z, doble s, Color c) : crea un punto de luz con valores específicos de x, y, z, exponente especular y color de luz

Métodos comúnmente utilizados:

Métodos Explicación
obtenerPuntosEnX() Devuelve la coordenada x del vector de dirección de la luz.
obtenerPuntosEnY() Devuelve la coordenada y del vector de dirección de la luz.
obtenerPuntosEnZ() Devuelve la coordenada z del vector de dirección de la luz.
obtenerExponenteespecular() Devuelve el valor de specularExponent.
setPointsAtX(doble v) Establece el valor de la coordenada x del vector de dirección de la luz.
setPointsAtY(doble v) Establece el valor de la coordenada y del vector de dirección de la luz.
setPointsAtZ(doble v) Establece el valor de la coordenada z del vector de dirección de la luz.
setSpecularExponent(doble v) Establece el valor de specularExponent.

Los siguientes programas ilustran el uso de la clase Light.Spot:

  1. Programa Java para crear un Foco y agregarlo a un rectángulo: En este programa crearemos un Rectángulo llamado rectángulo con altura y ancho especificados. También crearemos un objeto Light.Spot llamado light . Estableceremos los valores x, y, z usando las funciones setX() , setY() y setZ() . Ahora crea un objeto de iluminación y agrega el objeto de luz a la iluminación usando la función setLight() . Estableceremos el efecto de Iluminación en el Rectángulo y lo agregaremos a la escena y agregaremos la escena al escenario y llamaremos a la función show para mostrar los resultados.

    // Java Program to create a Spot light
    // and add it to a rectangle
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.shape.Rectangle;
    import javafx.scene.control.*;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.effect.Light.*;
    import javafx.scene.effect.*;
    import javafx.scene.paint.Color;
      
    public class Spot_1 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            // set title for the stage
            stage.setTitle("creating Light.Spot");
      
            // create Spot Light object
            Light.Spot light = new Light.Spot();
      
            // set coordinates
            light.setX(100);
            light.setY(100);
            light.setZ(100);
      
            // create a lighting
            Lighting lighting = new Lighting();
      
            // set Light of lighting
            lighting.setLight(light);
      
            // create a rectangle
            Rectangle rect = new Rectangle(250, 250);
      
            // set fill
            rect.setFill(Color.WHITE);
      
            // set effect
            rect.setEffect(lighting);
      
            // create a Group
            Group group = new Group(rect);
      
            // create a scene
            Scene scene = new Scene(group, 500, 300);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    Producción:

  2. Programa Java para crear un Spotlight y agregarlo a un rectángulo y establecer las coordenadas del vector de dirección de la luz y el color de la luz: En este programa crearemos un Rectángulo llamado rectángulo con altura y ancho especificados. También crearemos un objeto Light.Spot llamado light . Estableceremos los valores x, y, z usando las funciones setX() , setY() y setZ() . La coordenada del vector de dirección de la luz se establece usando setPointsAtX() , setPointsAtY() y setPointsAtX() , y especifica el valor del color usando setColor()función Ahora cree un objeto de iluminación y agregue el objeto de luz a la iluminación usando la función setLight() . Estableceremos el efecto de Iluminación en el Rectángulo y lo agregaremos a la escena y agregaremos la escena al escenario y llamaremos a la función show para mostrar los resultados.

    // Java Program to create a Spot light
    // and add it to a rectangle and set the
    // coordinates of direction vector of 
    // light and color of light
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.shape.Rectangle;
    import javafx.scene.control.*;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.effect.Light.*;
    import javafx.scene.effect.*;
    import javafx.scene.paint.Color;
      
    public class Spot_2 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            // set title for the stage
            stage.setTitle("creating Light.Spot");
      
            // create Spot Light object
            Light.Spot light = new Light.Spot();
      
            // set coordinate of direction
            // the vector of this light
            light.setPointsAtX(0);
            light.setPointsAtY(0);
            light.setPointsAtZ(-60);
      
            // set specular exponent
            light.setSpecularExponent(2);
      
            // set color of light
            light.setColor(Color.RED);
      
            // set coordinates
            light.setX(100);
            light.setY(100);
            light.setZ(200);
      
            // create a lighting
            Lighting lighting = new Lighting();
      
            // set Light of lighting
            lighting.setLight(light);
      
            // create a rectangle
            Rectangle rect = new Rectangle(250, 250);
      
            // set fill
            rect.setFill(Color.WHITE);
      
            // set effect
            rect.setEffect(lighting);
      
            // create a Group
            Group group = new Group(rect);
      
            // create a scene
            Scene scene = new Scene(group, 500, 300);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    Producción:

Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.

Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/Light.Spot.html

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *