Mục lục:
Video: [Phân tích thiết kế] - Bài 2: Tạo lược đồ Use-case | HowKteam 2025
Tạo một thế giới 3D ảo dễ dàng hơn bao giờ hết trong JavaFX. Trong ví dụ này, bạn học cách thêm một hình cầu vào chương trình JavaFX của bạn, kích hoạt nó, và thêm một nguồn ánh sáng vào nó.
Bước 1: Thêm một hình cầu
Trước tiên, thêm một hình cầu, được đại diện bởi lớp Sphere. Nhà xây dựng Sphere chỉ chấp nhận một tham số, chỉ định bán kính của quả cầu. Ví dụ: những đường này tạo ra một quả cầu có bán kính là 100, sau đó dịch nó để di chuyển nó khỏi điểm trung tâm của thế giới ảo của bạn:
Sphere sphere = mới Sphere (100); quả cầu. setTranslateX (-180); quả cầu. setTranslateY (-100); quả cầu. setTranslateZ (100); nguồn gốc. getChildren (). thêm (hình cầu);
Thay vì sử dụng vật liệu Phong Phong với quả cầu, bạn có thể làm điều gì đó thú vị hơn: áp dụng một vật liệu Phong được xây dựng từ hình ảnh của một phép chiếu hình trụ bằng đất bằng mã này:
Image earthImage = new Image "tệp: đất.jpg"); PhongMaterial earthPhong = PhongMaterial mới (); earthPhong. setDiffuseMap (earthImage); quả cầu. setMaterial (earthPhong);
Hình này cho thấy hình cầu.
Bạn có thể quấn bất kỳ hình ảnh nào xung quanh một hình cầu (hoặc bất kỳ đối tượng 3D nào khác) bằng kỹ thuật này. Bạn cũng có thể có được hình ảnh cho chương trình này từ Wikipedia. Chỉ cần tìm kiếm Behrmann Projection và sau đó tải về tệp. (Sử dụng Windows Paint để cắt các cạnh của hình ảnh một chút vì hình ảnh có sẵn trên Wikipedia có một đường viền nhỏ xung quanh các cạnh)
Bước hai: Animate các đối tượng
Whew! Thế giới ảo 3D của bạn bây giờ có một đối tượng: một quả cầu giống như trái đất. Bạn cũng có thể thêm các đối tượng khác tại thời điểm này.
Trong bước này, thêm một hình ảnh động vào tất cả các đối tượng để làm cho chúng quay. Mỗi đối tượng đều có một hình ảnh động RotationTransition đơn giản. Đầu tiên, hình cầu:
RotateTransition rt4 = new RotateTransition (); rt4. setNode (hình cầu); rt4. setDuration (Thời gian. millis (9000)); rt4. setAxis (Xoay Y_AXIS); rt4. setByAngle (360); rt4. setCycleCount (Hoạt ảnh. INDEFINITE); rt4. setInterpolator (Interpolator. LINEAR); rt4. chơi();
Sau khi được gọi là phương pháp chơi, hình cầu bắt đầu xoay tròn, làm cho một vòng quay hoàn toàn quanh trục z của nó cứ ba giây một lần.
Phạm vi xoay quanh trục y, tạo ra ấn tượng rằng thế giới xoay vòng. Đối với quả cầu, tốc độ được thiết lập một cuộc cách mạng mỗi 10 giây.
Bước ba: Thêm nguồn ánh sáng
Bước cuối cùng vào bước đột phá này vào thế giới của chương trình 3D là thêm một nguồn ánh sáng.Nguồn ánh sáng sẽ thay đổi toàn cảnh của cảnh, như được hiển thị ở đây.
Để thêm nguồn ánh sáng, hãy sử dụng mã sau:
Thế giới 3D của bạn với nguồn ánh sáng.Ánh sáng PointLight = mới PointLight (Màu Trắng); ánh sáng. setTranslateX (-1000); ánh sáng. setTranslateY (100); ánh sáng. setTranslateZ (-1000); nguồn gốc. getChildren (). thêm (ánh sáng);
Lớp PointLight xác định nguồn sáng bắt nguồn từ một điểm cụ thể trong hiện trường và chiếu ánh sáng của màu đã cho (trong trường hợp này là màu trắng cũ tốt). Để tạo hiệu ứng ánh sáng, di chuyển ánh sáng bằng cách dịch toạ độ 1, 000 sang trái, 100 xuống và 1 000 đơn vị đối với người dùng. Kết quả tạo ra bóng tốt trên mặt sau của vật quay.