Отдельный перспективный вид JavaFX на трехмерном шахматном поле

Я получил следующее игровое окно: http://www.directupload.net/file/d/3598/b48lqpur_png.htm (извините, здесь нельзя разместить изображение)

Красная коробка - это VBox (или другой контейнер, я пока не могу решить). И вместо звезды я хочу установить трехмерную перспективу Chessfield. Но если я загружу Framework (например, Java-Tutorial MoleculeSampleApp) в контейнер, я получу 4 результата:

  • Первый: я вижу трехмерное шахматное поле, но все, что находится за пределами моего Контейнера, вращается вместе с шахматным полем.
  • Второе: я не вижу шахматного поля (но мой консольный вывод говорит, что все шаги создания шахматного поля выполнены правильно)
  • Третье: я вижу один черный ящик без всякой перспективы.
  • Последнее: я вижу только Каркас Чессфилда

Мой исходный код:

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();

Этот код создает окно, которое вы видите на картинке.

Можно ли получить вид в перспективе только в одном Контейнере?

Я надеюсь, что смог описать свою проблему понятно. (например, JavaFX 3D — Как установить разные камеры для группы с 3D-объектом и подсцены с элементами управления пользовательского интерфейса?)


person malex    schedule 20.04.2014    source источник


Ответы (1)


Ознакомьтесь с нашим проектом.. F(X)yz это библиотека JavaFX 3D.. Существует класс CameraView и класс Cutaway (CameraView, завернутый в перетаскиваемую рамку), который может делать то, что вы ищете. Клонируйте проект и запустите CameraViewTest. И в основной сцене, и в cameraView есть обработчики мыши для движения, так что поэкспериментируйте. Другой пример — в классе BillboardBehaviorTest.

Надеюсь это поможет!

person jdub1581    schedule 13.12.2014