本文概述
在这种照明效果中, 光源在3D空间中具有特定位置。顾名思义, 光源位于某个点, 并且将节点缝起来以从该特定光源变亮。类javafx.scene.effect.Light.Point表示此光源。我们需要实例化此类, 以便在节点上生成适当的光照。
物产
下表描述了类的属性及其设置方法。
属性 | 描述 | 设置方法 |
---|---|---|
X | 这是一个双精度类型的属性。它代表光源的X坐标。 | setX(Double value) |
Y | 这是一个双精度类型的属性。它代表光源的Y坐标。 | setY(Double value) |
Z | 这是一个双精度类型的属性。它代表光源的Z坐标。 | setZ(Double value) |
建设者
该类包含两个构造函数
- public Light.Point():使用默认参数创建新实例。
- Public Light.Point(double x, double y, double z, Color color):使用指定的3D坐标和灯光颜色创建新实例
例:
package application;
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.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
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);
}
}
评论前必须登录!
注册