JavaFX Lighting类

此效果用于从光源照亮节点。有各种类型的光源,即点光源、远距离光源和点光源。类javafx.scene.effect.Lighting表示照明效果。我们需要实例化这个类,以便在节点上产生适当的效果。

1 Lighting类的属性

属性 描述 setter方法
bumpInput 它是一个 Effect 对象类型属性。它表示效果的凹凸贴图输入 setBumpInput(Effect value)
contentInput 它是一个 Effect 对象类型属性。它代表 Effect 的内容输入 setContentInput(Effect value)
diffuseConstant 它是一个 Double 类型的属性。它表示漫反射常数 setDiffuseConstant(Double value)
light 它是一个 Light 对象类型属性。它代表效果的光源 setLight(Light value)
specularConstant 它是一个双重类型的属性。它代表镜面反射常数 setSpecularConstant(double value)
specularExponent 它是一个双重类型的属性。它代表镜面反射指数 setSpecularExponent(double value)
surfaceScale 它是双重类型的属性。它代表灯光的表面比例 setSurfaceScale(double value)

2 Lighting类的构造函数

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

  1. public Lighting() :使用默认值光源创建一个新的Lighting实例。
  2. public Lighting(Light light) :使用指定的光源值创建一个新的Lighting实例。

3  Lighting类的例子

package com.yiidian;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.Lighting;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
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, 35));
        text.setX(60);
        text.setY(100);
        text.setText("欢迎访问一点教程网");
        text.setFill(Color.GREEN);
        Image img = new Image("http://www.yiidian.com/statics/images/logo.png");
        ImageView imgview = new ImageView(img);
        imgview.setX(150);
        imgview.setY(200);
        Lighting lighting = new Lighting();
        text.setEffect(lighting);
        imgview.setEffect(lighting);
        Group root = new Group(text,imgview);
        Scene scene = new Scene(root, 580, 420);
        stage.setTitle("一点教程网:lighting effect example");
        stage.setScene(scene);
        stage.show();
    }
    public static void main(String args[]){
        launch(args);
    }
}

输出结果为:

热门文章

优秀文章