私は、JavaFX 2(Java 7を搭載したバージョン)の現在の3D機能を調べるための簡単な迷路ゲームの作成を検討しています。
壁の長方形を配置および回転することはできますが、Z次元に配置できないようです。
以下のコードを参照してください。緑の壁は左右の壁の真ん中にあります-どうすれば後ろに移動できますか?z()ビルダープロパティがないことに注意してください。
public final class Walls extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
stage.setTitle("Walls in perspective");
stage.setScene(makeScene());
stage.show();
}
private Scene makeScene() {
return SceneBuilder.create()
.width(500)
.height(500)
.root(createRoot())
.camera(PerspectiveCameraBuilder.create().build())
.depthBuffer(true)
.build();
}
private Parent createRoot() {
// left wall
Rectangle node1 = RectangleBuilder.create()
.x(-200)
.y(-150)
.width(200)
.height(200)
.fill(Color.RED)
.rotate(90)
.rotationAxis(Rotate.Y_AXIS)
.build();
// back wall?
Rectangle node2 = RectangleBuilder.create()
.x(-100)
.y(-150)
.width(200)
.height(200)
.fill(Color.GREEN)
.opacity(0.5)
.build();
// right wall
Rectangle node3 = RectangleBuilder.create()
.x(0)
.y(-150)
.width(200)
.height(200)
.fill(Color.BLUE)
.rotate(90)
.rotationAxis(Rotate.Y_AXIS)
.build();
return GroupBuilder.create()
.children(node1, node2, node3)
.translateX(250)
.translateY(250)
//.depthTest() ?
.build();
}
}