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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。