如何在JavaFX中创建Box(3D)?
盒子是具有长度(深度),宽度和高度的三维形状。在JavaFX中,一个框由javafx.scene.shape.Box类表示。此类包含3个属性,它们是-
深度-这个属性代表了框的深度,你可以设定值使用该属性setDepth()方法。
height-此属性表示框的高度,您可以使用setHeight()方法将值设置为此属性。
width-此属性表示框的宽度,您可以使用setWidth()方法将值设置为此属性。
要创建3D盒子,您需要-
实例化此类。
使用setter方法或通过将其作为参数传递给构造函数来设置所需的属性。
将创建的节点(形状)添加到Group对象。
示例
import javafx.application.Application;import javafx.scene.Group;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.stage.Stage;
import javafx.scene.shape.Box;
import javafx.scene.shape.CullFace;
import javafx.scene.shape.DrawMode;
public class DrawingBox extends Application {
public void start(Stage stage) {
//画一个盒子
Box cube = new Box();
//设置Box(cube)的属性
cube.setDepth(150.0);
cube.setHeight(150.0);
cube.setWidth(150.0);
//设置其他属性
cube.setCullFace(CullFace.BACK);
cube.setDrawMode(DrawMode.FILL);
PhongMaterial material = new PhongMaterial();
material.setDiffuseColor(Color.BROWN);
cube.setMaterial(material);
//翻译盒子
cube.setTranslateX(300.0);
cube.setTranslateY(150.0);
cube.setTranslateZ(150.0);
//设置透视相机
PerspectiveCamera cam = new PerspectiveCamera();
cam.setTranslateX(-150);
cam.setTranslateY(25);
cam.setTranslateZ(150);
//设置场景
Group root = new Group(cube);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
scene.setCamera(cam);
stage.setTitle("Drawing A Cube");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
输出结果
以上是 如何在JavaFX中创建Box(3D)? 的全部内容, 来源链接: utcz.com/z/334709.html