JavaFX Light.Point类

在这种灯光效果中,光源在 3D 空间中被赋予了一定的位置。顾名思义,光源位于某个点,节点被缝合以从该特定光源照亮。类javafx.scene.effect.Light.Point代表这个光源。我们需要实例化这个类以便在节点上生成合适的光照。

1 Light.Point类的属性

属性 描述 setter方法
X 它是一个双重类型的属性。它表示光源的 X 坐标 setX(Double value)
Y 它是一个双重类型的属性。它表示光源的 Y 坐标 setY(Double value)
Z 它是一个双重类型的属性。它表示光源的 Z 坐标 setY(Double value)

2 Light.Point类的构造函数

该类包含下面描述的两个构造函数。

  1. public Light.Point() :使用默认参数创建新实例。
  2. public Light.Point(double x, double y, double z, Color color) :使用指定的 3D 坐标和灯光颜色创建新实例

3 Light.Point类的例子

package com.yiidian;

import javafx.application.Application;
import javafx.geometry.VPos;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.Light;
import javafx.scene.effect.Lighting;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class LightingExample1 extends Application {

    @Override
    public void start(Stage stage) {
        Text text = new Text();
        text.setFont(Font.font(null, FontWeight.BOLD, 40));
        text.setX(50);
        text.setY(40);
        text.setTextOrigin(VPos.TOP);
        text.setText("HELLO WORLD!!");
        text.setFill(Color.RED);
        Light.Point light = new Light.Point();
        light.setX(0);
        light.setY(0);
        light.setZ(-100);
        Lighting lighting = new Lighting();
        lighting.setSurfaceScale(5);
        text.setEffect(lighting);
        Group root = new Group();
        root.getChildren().add(text);
        Scene scene = new Scene(root, 500, 200);
        stage.setTitle("一点教程网:light.Point example");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]){
        launch(args);
    }
}  

输出结果为:

热门文章

优秀文章