3d - 3D 国际象棋场上的 JavaFX 独立透视图

标签 3d javafx perspectivecamera

我得到以下游戏窗口: http://www.directupload.net/file/d/3598/b48lqpur_png.htm (抱歉不能在这里发布 img)

红色的 Box 是 VBox(或其他 Container,我还不能决定)。 我想设置一个 3D 透视 Chessfield 而不是星星。 但是如果我将框架(如 Java-Tutorial MoleculeSampleApp)加载到容器中,我会得到 4 个结果:

  • 第一个:我看到了 3D 棋盘,但都在我的容器之外 与 Chessfield 一起旋转。
  • 第二个:我没有看到棋盘(但我的控制台输出显示了所有 创建棋盘的步骤正确完成)
  • 第三个:我看到一个黑盒子,没有任何透视。
  • 最后:我只看到了棋盘的框架

我的源码是:

Stage stage = new Stage();
        stage.setScene(
                createScene(loadPane(ContentManager.DEFAULT_SCREEN_FXML, ContentManager.GAME_SCREEN_FXML))
        );
        FieldLayerController flc = new FieldLayerController();
        flc.setFieldSize(6);
        flc.buildField();
        flc.buildScene();
        flc.buildCamera();
        Scene scene = new Scene(flc.root, 1024, 768, true);
        flc.handleKeyboard(scene, (Node)flc.world);
        flc.handleMouse(scene, (Node)flc.world);
        Node node = stage.getScene().lookup("#game_box");
        ((VBox)node).getChildren().add(flc.root);
    stage.show();

此代码生成您在图片上看到的窗口。

是否可以只在一个Container中获取透视图?

我希望我能把我的问题描述得易于理解。 (比如 JavaFX 3D - How to set different cameras for Group with 3D object and SubScene with UI Controls?)

最佳答案

查看我们的项目.. F(X)yz它是一个 JavaFX 3D 库。有一个 CameraView 类和一个 Cutaway 类(包裹在可拖动框架中的 CameraView),它们可以按照您的要求执行。克隆项目并运行 CameraViewTest。主场景和 cameraView 都有用于移动的鼠标处理程序,所以可以玩一下。另一个例子是在 BillboardBehaviorTest 类中。

希望这对您有所帮助!

关于3d - 3D 国际象棋场上的 JavaFX 独立透视图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23187452/

相关文章:

3d - 向量和顶点有什么区别?

java - com.gluonhq.charm.glisten.control.TextField 不存在

c++ - 带相机旋转的 3d 透视投影

javascript - 三个 JS orbitcontrols 设置目标而不看

opencv - 寻找两个平面之间的透视变换

c - 跳过 OpenGL 2.X 并开始学习 OpenGL 3.X 是否更好?

python - 类型错误 : Axes3D

css - 是否可以对一个 div 应用两个不同来源的转换?

JavaFX 静态与非静态

java - 如何在javaFX中使用setOnKeyTyped