JavaFX: กล้องเปอร์สเปคทีฟบนวิดเจ็ตที่กำหนดเอง

ฉันกำลังพยายามสร้าง "วิดเจ็ตแบบกำหนดเอง" (extends HBox) ซึ่งแสดงกราฟิก 3 มิติ

ปัญหาคือตัวอย่างทั้งหมดที่ฉันเห็นในการตั้งค่ากล้องแสดงวิธีดำเนินการใน "ฉาก" หลักซึ่งอยู่ในหน้าต่างหลัก

ฉันไม่ต้องการความสัมพันธ์ใดๆ กับหน้าต่างหลัก ฉันต้องการให้มันเป็นวิดเจ็ตอิสระ

เป็นไปได้ไหมที่จะทำเช่นนั้น?

ฉันจะดีใจถ้าคุณสามารถแบ่งปันตัวอย่างโค้ดบางส่วนได้เนื่องจากฉันรู้สึกสับสนกับมันมาก


person SomethingSomething    schedule 04.08.2016    source แหล่งที่มา
comment
ฉันไม่เคยลองสิ่งนี้มาก่อน แต่ลองรวมเนื้อหาของคุณใน SubScene. คุณสามารถตั้งค่ากล้องที่คุณเลือกบน SubScene และโค้ดไคลเอ็นต์สามารถเพิ่มลงในกราฟฉากอื่นๆ ได้   -  person James_D    schedule 04.08.2016


คำตอบ (1)


ฉันไม่แน่ใจว่าฉันเข้าใจคุณถูกต้องหรือไม่ แต่ถ้าคุณต้องการให้กล้องสามารถปรับเปลี่ยนได้ คุณสามารถแทรกลงใน Scene Graph ได้ทุกที่ที่คุณต้องการ คุณสามารถเพิ่มลงในโหนดกลุ่มได้ดังนี้:

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

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

เมื่อคุณย้ายโหนดกลุ่มแล้ว กล้องก็จะเคลื่อนไหวเช่นกัน คุณสามารถเพิ่มกล้องลงในโหนดกลุ่มใดก็ได้ที่คุณต้องการ แต่ฉันไม่แน่ใจว่าจะเกิดอะไรขึ้นเมื่อคุณใส่กล้องลงในโหนดกลุ่มที่ใช้ LayoutManagement เช่น HBox

สิ่งสำคัญคือคุณต้องเพิ่มกล้องเข้าไปในฉากที่มีกล้องอยู่เสมอ

person Jhonny007    schedule 25.08.2016