PointLight es una parte de JavaFX. PointLight define una fuente de luz puntual. PointLight es una fuente de luz fija en el espacio que irradia luz en todas las direcciones.
Los constructores de la clase son:
- PointLight() : Crea una nueva instancia de pointlight
- PointLight (Color c) : crea una nueva instancia de punto de luz de un color específico
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
obtenerColor() | devuelve el color de la luz |
esLightOn() | devuelve si la luz está encendida o no |
setColor(valor de color) | establece el color de la luz |
setLightOn(valor booleano) | Establece el valor de la propiedad lightOn. |
Los siguientes programas ilustran la clase PointLight:
- Programa Java para crear un punto de luz de color predeterminado: Este programa crea una Esfera indicada por el nombre esfera (el radio se pasa como argumento). Se crea un PointLight llamado pointlight que es una fuente de luz puntual e irradia luz en todas las direcciones. La Esfera se creará dentro de una escena, que a su vez se alojará dentro de un escenario. La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un Grupo y se adjuntan la esfera y el punto de luz. El grupo se adjunta a la escena. Finalmente, se llama al método show() para mostrar los resultados finales. Se creará una cámara en perspectiva y se agregará a la escena para renderizar el cilindro en 3D.
// Java program to create a point light of default color
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.shape.DrawMode;
import
javafx.scene.layout.*;
import
javafx.event.ActionEvent;
import
javafx.scene.PointLight;
import
javafx.scene.shape.Sphere;
import
javafx.scene.control.*;
import
javafx.stage.Stage;
import
javafx.scene.Group;
import
javafx.scene.PerspectiveCamera;
import
javafx.scene.paint.Color;
public
class
pointlight_2
extends
Application {
// launch the application
public
void
start(Stage stage)
{
// set title for the stage
stage.setTitle(
"creating sphere"
);
// create a sphere
Sphere sphere =
new
Sphere(
80
.0f);
// create a point light
PointLight pointlight =
new
PointLight();
// create a Group
Group group =
new
Group(sphere, pointlight);
// translate the sphere to a position
sphere.setTranslateX(
100
);
sphere.setTranslateY(
100
);
// translate point light
pointlight.setTranslateZ(-
1000
);
pointlight.setTranslateX(+
1000
);
pointlight.setTranslateY(+
10
);
// create a perspective camera
PerspectiveCamera camera =
new
PerspectiveCamera(
false
);
camera.setTranslateX(
0
);
camera.setTranslateY(
0
);
camera.setTranslateZ(
0
);
// create a scene
Scene scene =
new
Scene(group,
500
,
300
);
scene.setCamera(camera);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Producción:
- Programa Java para crear un punto de luz de un color específico (por ejemplo, ROJO): Este programa crea una Esfera indicada por el nombre esfera (el radio se pasa como argumento). Se crea un PointLight llamado pointlight (con un color específico pasado como argumento que es una fuente de luz puntual e irradia luz en todas las direcciones. La Esfera se creará dentro de una escena, que a su vez se alojará dentro de un escenario. La función setTitle() se utiliza para dar título al escenario. Luego se crea un grupo y se adjuntan la esfera y el punto de luz. El grupo se adjunta a la escena. Finalmente, se llama al método show() para mostrar los resultados finales. Una perspectiva Se creará una cámara y se agregará a la escena para renderizar el cilindro en 3D.
// Java program to create a point light
// of specified color(eg RED)
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.shape.DrawMode;
import
javafx.scene.layout.*;
import
javafx.event.ActionEvent;
import
javafx.scene.PointLight;
import
javafx.scene.shape.Sphere;
import
javafx.scene.control.*;
import
javafx.stage.Stage;
import
javafx.scene.Group;
import
javafx.scene.PerspectiveCamera;
import
javafx.scene.paint.Color;
public
class
sphere_1
extends
Application {
// launch the application
public
void
start(Stage stage)
{
// set title for the stage
stage.setTitle(
"creating sphere"
);
// create a sphere
Sphere sphere =
new
Sphere(
80
.0f);
// create a point light
PointLight pointlight =
new
PointLight(Color.RED);
// create a Group
Group group =
new
Group(sphere, pointlight);
// translate the sphere to a position
sphere.setTranslateX(
100
);
sphere.setTranslateY(
100
);
// translate point light
pointlight.setTranslateZ(-
1000
);
pointlight.setTranslateX(+
1000
);
pointlight.setTranslateY(+
10
);
// create a perspective camera
PerspectiveCamera camera =
new
PerspectiveCamera(
false
);
camera.setTranslateX(
0
);
camera.setTranslateY(
0
);
camera.setTranslateZ(
0
);
// create a scene
Scene scene =
new
Scene(group,
500
,
300
);
scene.setCamera(camera);
// set the scene
stage.setScene(scene);
stage.show();
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
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/PointLight.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