PointLight是JavaFX的一部分。 PointLight定义点光源。 PointLight是空间中的固定光源,可全方位辐射光。
该类的构造函数是:
- PointLight():创建一个新的pointlight实例
- PointLight(Color c):创建特定颜色的点光源的新实例
常用方法:
方法 | 说明 |
---|---|
getColor() | 返回灯光的颜色 |
isLightOn() | 返回指示灯是否点亮 |
setColor(Color value) | 设置灯光的颜色 |
setLightOn(boolean value) | 设置属性lightOn的值。 |
以下示例程序旨在说明PointLight类:
- Java程序创建默认颜色的点光源:该程序创建一个以sphere命名的Sphere(半径作为参数传递)。创建一个名为Pointlight的PointLight,这是一个点光源,并沿所有方向辐射光。 Sphere将在场景内创建,而场景又将在舞台内托管。函数setTitle()用于为舞台提供标题。然后创建一个组,并附加了球体和点光源。该组将附加到场景。最后,调用show()方法以显示最终结果。将创建一个透视相机并将其添加到场景中以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); } }
输出:
- Java程序创建指定颜色(例如红色)的点光源:该程序创建一个以sphere命名的Sphere(半径作为参数传递)。将创建一个名为pointlight(的PointLight(),并将指定的颜色作为参数传递给点光源,该点光源是点光源并向各个方向辐射光。将在场景内创建Sphere,然后将其托管在舞台内。函数setTitle()用来为舞台提供标题,然后创建一个组,并附加球体和点光源,将该组附加到场景,最后,调用show()方法以显示最终结果,将创建一个透视相机。并添加到场景中以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); } }
注意:以上程序可能无法在在线IDE中运行。请使用离线编译器。
参考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/PointLight.html
相关用法
- JavaFX 类 Box用法及代码示例
- JavaFX 类 Arc用法及代码示例
- JavaFX 类 Line用法及代码示例
- JavaFX 类 Polygon用法及代码示例
- JavaFX 类 CheckMenuItem用法及代码示例
- JavaFX 类 Circle用法及代码示例
- JavaFX 类 Polyline用法及代码示例
- JavaFX 类 Ellipse用法及代码示例
- JavaFX 类 Sphere用法及代码示例
- JavaFX 类 ContextMenu用法及代码示例
- JavaFX 类 QuadCurve用法及代码示例
- JavaFX 类 CubicCurve用法及代码示例
- JavaFX 类 Cylinder用法及代码示例
- JavaFX 类 RadioButton用法及代码示例
- JavaFX 类 DatePicker用法及代码示例
注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | PointLight with examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。