2016-08-04 2 views
0

Я пытаюсь создать «пользовательский виджет» (extends HBox), который отображает 3D-графику.JavaFX: Перспективная камера на пользовательском виджете

Проблема в том, что все примеры, которые я вижу для настройки камеры, показывают, как это сделать на главной «сцене», которая принадлежит к главному окну.

Я не хочу никакого отношения к главному окну, я хочу, чтобы он был независимым виджетами.

В любом случае это можно сделать?

Я буду рад, если вы можете поделиться некоторыми пример кода, как я чувствую себя довольно потерял с ним ...

+3

Я никогда не пробовал это, но попробовать оборачивать свой контент в [ 'SubScene'] (HTTP: // docs.oracle.com/javase/8/javafx/api/javafx/scene/SubScene.html). Вы можете настроить выбранную вами камеру на «SubScene», а клиентский код может добавить ее на любой другой граф сцены. –

ответ

0

Я не совсем уверен, если я правильно вас понял, но если вы хотите, чтобы камера будет трансформируемый, вы можете вставить его в график сцены, где захотите. Вы можете добавить его в узел группы, как это:

Group someGroup = new Group(); 
PerspectiveCamera camera = new PerspectiveCamera(); 
someGroup.getChildren().add(camera); 

Scene s = new Scene(someGroup); 
s.setCamera(camera); 

Теперь при перемещении узла группы камера движется, а также. Вы можете добавить камеру к любому желаемому узлу группы, но я не уверен, что происходит, когда вы помещаете ее в узел Group, который использует LayoutManagement, например HBox. .

Важно то, что вы всегда должны добавить камеру в сцену, что она находится в

Смежные вопросы