เรื่องที่แนะนำ
สอน JavaFX 3D พร้อมการตั้งค่า pom.xml
JavaFX เป็นเครื่องมือที่ช่วยให้การพัฒนา UI สำหรับแอปพลิเคชันเดสก์ท็อปง่ายขึ้น และรองรับการทำงานกับกราฟิก 3D ได้อย่างมีประสิทธิภาพ ในบทความนี้ เราจะพูดถึงวิธีการสร้าง 3D Objects ใน JavaFX และการตั้งค่าโปรเจกต์ด้วย Maven โดยการปรับแต่งไฟล์ pom.xml
การตั้งค่า Maven โปรเจกต์
ก่อนอื่น เราต้องเตรียมโปรเจกต์ Maven ให้รองรับ JavaFX และการทำงานกับ 3D
- สร้างโปรเจกต์ Maven ใหม่
- เปิดไฟล์
pom.xml
และเพิ่มการตั้งค่าดังนี้:
ตัวอย่างการตั้งค่า pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>javafx-3d-example</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<javafx.version>20</javafx.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<!-- JavaFX Modules -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>${javafx.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.example.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
หลังจากตั้งค่าเสร็จ ให้รันคำสั่ง mvn install
เพื่อตรวจสอบว่าโปรเจกต์ Maven ของคุณพร้อมใช้งาน
การสร้าง 3D Object ใน JavaFX
JavaFX รองรับการทำงานกับกราฟิก 3D โดยใช้คลาสที่มีอยู่ เช่น Box
, Sphere
, และ Cylinder
รวมถึงรองรับการตั้งค่ากล้อง (Camera) และแสง (Lighting)
ตัวอย่างโค้ด JavaFX 3D
import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Box;
import javafx.scene.shape.Sphere;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
// สร้าง Box
Box box = new Box(100, 100, 100);
PhongMaterial boxMaterial = new PhongMaterial();
boxMaterial.setDiffuseColor(Color.CORAL);
box.setMaterial(boxMaterial);
// สร้าง Sphere
Sphere sphere = new Sphere(50);
PhongMaterial sphereMaterial = new PhongMaterial();
sphereMaterial.setDiffuseColor(Color.SKYBLUE);
sphere.setMaterial(sphereMaterial);
sphere.setTranslateX(150);
// เพิ่มแสง
PointLight light = new PointLight(Color.WHITE);
light.setTranslateX(200);
light.setTranslateY(-100);
light.setTranslateZ(-200);
AmbientLight ambientLight = new AmbientLight(Color.GRAY);
// ตั้งค่ากล้อง
PerspectiveCamera camera = new PerspectiveCamera(true);
camera.setTranslateZ(-500);
// เพิ่มองค์ประกอบลงใน Group
Group group = new Group(box, sphere, light, ambientLight);
// สร้าง SubScene
SubScene subScene = new SubScene(group, 800, 600, true, SceneAntialiasing.BALANCED);
subScene.setFill(Color.BLACK);
subScene.setCamera(camera);
// เพิ่ม SubScene ลงใน Scene หลัก
Group root = new Group(subScene);
Scene scene = new Scene(root, 800, 600);
primaryStage.setTitle("JavaFX 3D Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
คำอธิบายโค้ด
การสร้าง Object 3D:
Box
และSphere
ใช้สำหรับสร้างกล่องและทรงกลมตามลำดับ- ใช้
PhongMaterial
เพื่อเพิ่มสีและพื้นผิว
การเพิ่มแสง:
PointLight
และAmbientLight
ใช้สำหรับการตั้งค่าแสงในฉาก
การตั้งค่ากล้อง:
PerspectiveCamera
ให้มุมมอง 3D ที่สมจริง
การรวมใน SubScene:
SubScene
ช่วยแยกการจัดการฉาก 3D และเชื่อมต่อกับ Scene หลัก
สรุป
JavaFX เป็นเครื่องมือที่ทรงพลังสำหรับการพัฒนา UI และการทำงานกับกราฟิก 3D ขั้นพื้นฐาน การตั้งค่าโปรเจกต์ด้วย Maven และการทำงานกับ 3D Object สามารถทำได้ง่ายด้วยคลาสและเครื่องมือที่ JavaFX จัดเตรียมไว้ให้ บทความนี้ช่วยให้คุณเริ่มต้นพัฒนาแอปพลิเคชัน 3D ด้วย JavaFX ได้อย่างมั่นใจ
บทความที่ได้รับความนิยม
สอนสร้างเกมส์บริหารเหตุการณ์ต่างๆในร้านนวด
- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
การใช้งาน RPC (Remote Procedure Call) ด้วย Java พร้อมตัวอย่างเกมออนไลน์ (ต่อ)
- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
ความคิดเห็น
แสดงความคิดเห็น