เครื่องมือตั้งค่าสำหรับโปรเจ็กต์ libGDX Gradle
หากต้องการสร้างโปรเจ็กต์ ให้ดาวน์โหลด jar
แอปพลิเคชันล่าสุดแล้วรัน (โดยปกติแล้วจะดับเบิลคลิก) หรือรันคำสั่งต่อไปนี้ด้วยตนเอง (แทนที่ VERSION
อย่างเหมาะสม):
java -jar gdx-liftoff-VERSION.jar
คุณต้องสร้างด้วย Java 17 หรือใหม่กว่า! เวอร์ชันปัจจุบันของ Gradle รวมถึงเครื่องมือ Android ปัจจุบัน กำหนดให้ JDK ที่ติดตั้งของคุณเป็นเวอร์ชัน 17 หรือสูงกว่า ไม่ว่าคุณจะกำหนดเป้าหมายแพลตฟอร์มใด Gradle 8.10 ขึ้นไปจำเป็นต้องมี JDK ที่มีเวอร์ชันอย่างน้อย 17! คุณยังคงกำหนดเป้าหมายรีลีสอื่นๆ ได้ โดยทั่วไปให้ต่ำถึง 8 ในขณะที่สร้างด้วย JDK เวอร์ชัน 17 ขึ้นไป การเผยแพร่เป้าหมายที่เสถียรทั้งหมดของ Java ตั้งแต่ 8 ถึง 23 ใช้งานได้แล้วที่นี่ เราใช้ Gradle 8.10.2 เพราะมันใช้งานได้ทันทีกับ Java 23 (แม้ว่าจะเพิ่งเปิดตัว!)
หากคุณประสบปัญหาใดๆ คุณสามารถลองใช้ ?คู่มือการแก้ไขปัญหา? ของเรา
นอกเหนือจากคุณสมบัติส่วนใหญ่ของ gdx-setup
ดั้งเดิมแล้ว เครื่องมือ gdx-liftoff
ยังมี:
แม่แบบโครงการ คุณสามารถเลือกหนึ่งในโครงกระดูกโปรเจ็กต์ที่เน้นคุณสมบัติต่างๆ ของ libGDX ได้
การตรวจสอบอินพุตทันที ข้อมูลโครงการของคุณได้รับการตรวจสอบเมื่อคุณพิมพ์
รองรับภาษา JVM อื่น ๆ คุณสามารถเลือกภาษาเพิ่มเติมสำหรับโปรเจ็กต์ของคุณได้ เช่น Kotlin หรือ Scala ไลบรารีมาตรฐาน ปลั๊กอิน Gradle และโฟลเดอร์ซอร์สที่เหมาะสมจะรวมอยู่ด้วย
การปรับแต่ง คุณสามารถควบคุมเวอร์ชันของซอฟต์แวร์ที่แอปพลิเคชันของคุณใช้ได้มากขึ้น
ส่วนขยายของบุคคลที่สามเพิ่มเติม เวอร์ชันของพวกเขาดึงมาจาก Maven Central หรือ JitPack ดังนั้นโปรเจ็กต์ของคุณจึงถูกสร้างให้ทันสมัยอยู่เสมอ
การกำหนดค่าอัตโนมัติสำหรับส่วนขยายที่ยุ่งยาก หากคุณประสบปัญหาในการตั้งค่า Artemis-ODB, Lombok หรือไลบรารีอื่นๆ หลายแห่ง Liftoff จะดำเนินการเพิ่มเติม ดังนั้นคุณจึงไม่จำเป็นต้องดำเนินการ
การสนับสนุนการตั้งค่า ข้อมูลพื้นฐานของแอปพลิเคชันของคุณจะถูกบันทึกไว้ ดังนั้นคุณจึงไม่จำเป็นต้องกรอกข้อมูลทุกครั้งที่สร้างโปรเจ็กต์
นักวิ่ง Gradle เสริม คุณสามารถเลือกรันงาน Gradle หลังจากสร้างโปรเจ็กต์ได้ Gradle ไม่จำเป็นต้องรันเพื่อสร้างโปรเจ็กต์
รองรับแบ็กเอนด์ libGDX ทั้งหมด คุณต้องการแบ็คเอนด์ LWJGL2, LWJGL3 และ/หรือ Headless หรือไม่? Liftoff มีช่องทำเครื่องหมายง่ายๆ เพื่อเพิ่มแพลตฟอร์มอย่างเป็นทางการทั้งหมด รวมถึงโมดูลพิเศษอื่นๆ
คุณสมบัติด้านความสะดวกสบาย หากคุณมี JetBrains Toolbox คุณสามารถเปิดโปรเจ็กต์ที่เพิ่งสร้างขึ้นใน IDEA ได้ด้วยคลิกเดียว (ต้องตั้งค่า "สร้างเชลล์สคริปต์" ในกล่องเครื่องมือ) หากคุณใช้ Eclipse คุณยังคงนำเข้าโปรเจ็กต์ Gradle ได้ตามปกติ
ทันสมัย โปรเจ็กต์นี้มีความภาคภูมิใจในการอัปเดตอย่างรวดเร็วหลังจากการเปิดตัวส่วนประกอบภายนอกที่สำคัญ เช่น Gradle หรือ libGDX เอง
รองรับแบ็กเอนด์เพิ่มเติม แบ็กเอนด์ที่ไม่มีส่วนหัวเป็นส่วนหนึ่งของ libGDX มาเป็นเวลานาน แต่ไม่สามารถเข้าถึงได้ง่ายในการตั้งค่า gdx มันเป็นช่องทำเครื่องหมายที่นี่ TeaVM ซึ่งเป็นทางเลือกยอดนิยมแทน GWT สำหรับแอปพลิเคชันบนเบราว์เซอร์ก็อยู่ที่นี่เช่นกัน และทำงานร่วมกับ Kotlin และภาษา JVM อื่นๆ เช่นเดียวกับที่ทำกับ Java
สร้างไฟล์ปฏิบัติการเนทีฟได้ทันทีที่แกะกล่อง ปลั๊กอิน Construo ช่วยให้คุณประกอบ JDK ด้วย JAR ของโปรเจ็กต์ของคุณและเปิดใช้งานด้วยไฟล์ปฏิบัติการ Win64 .exe, MacOS (x64 หรือ AARCH64) .app หรือ Linux x64 แบบเนทีฟ การกำหนดค่ายังรวมอยู่ใน Graal Native Image แม้ว่าจะมีโอกาสน้อยที่จะ "ใช้งานได้" ในทันที
สำหรับผู้ที่ชอบวิดีโอ @raeleus ได้ผลิตวิดีโอแนะนำนี้ขึ้นมา
หากคุณต้องการอ่านข้อความมากกว่าก็ไปได้เลย...
Gdx-Liftoff เป็นแอปพลิเคชั่น GUI ที่ค่อนข้างตรงไปตรงมา
ป้อนชื่อโปรเจ็กต์/แพ็คเกจ/ชื่อคลาสหลัก
คลิกตัวเลือกโครงการ
เลือกตัวเลือกที่คุณต้องการ (แพลตฟอร์มเพิ่มเติม ภาษาที่ไม่ใช่ Java ส่วนขยายอย่างเป็นทางการ และ/หรือเทมเพลต)
คลิกถัดไป
เลือกส่วนขยายของบุคคลที่สามที่คุณต้องการเพิ่ม
คลิกถัดไป
ป้อนเส้นทางโปรเจ็กต์และเลือกเปลี่ยนเวอร์ชัน Java (เช่น เป็น 8 เพื่อการรองรับ iOS ที่ดีขึ้น)
คลิกสร้าง และปล่อยให้ความมหัศจรรย์เกิดขึ้น
หลังจากนั้น คุณสามารถเปิดโปรเจ็กต์ในเส้นทางที่คุณระบุ หรือเปิดเร็วขึ้นใน IDEA หากมีการติดตั้งวิธีที่ Liftoff มองเห็นได้ (โดยใช้กล่องเครื่องมือ JetBrains เป็นไปได้มาก แม้ว่า IDEA ที่ติดตั้งด้วยตนเองก็สามารถใช้ได้เช่นกัน)
หากคุณต้องการใช้ Kotlin แนะนำให้ใช้เทมเพลต Kotlin (เช่น Kotlin Logo
) สิ่งเหล่านี้กล่าวถึงว่าพวกเขาใช้ "Kotlin launchers" ในคำอธิบาย ไลบรารี KTX ทั้งหมดมีให้บริการในรูปแบบส่วนขยายของบุคคลที่สาม สิ่งเหล่านี้ไม่จำเป็นสำหรับโครงการ Kotlin แต่อาจมีประโยชน์ได้ KTX และไลบรารีที่ใช้ Kotlin อื่นๆ จำเป็นต้องเปิดใช้งาน Kotlin ปัจจุบัน โปรเจ็กต์ที่สร้างขึ้นที่นี่มีค่าเริ่มต้นคือการใช้ Kotlin 2.0.21 ซึ่งอาจมีความเข้ากันไม่ได้กับรุ่น 1.9.x รุ่นก่อนหน้า คุณสามารถตั้งค่าเวอร์ชันเป็นเวอร์ชัน 1.9.x ใหม่ล่าสุด (ปัจจุบันคือ 1.9.25) แทนในกล่องโต้ตอบภาษา เมื่อคุณเลือก Kotlin เป็นตัวเลือก อย่างไรก็ตาม การเผยแพร่ซีรีส์ 2.x อ้างว่ามีการปรับปรุงที่ดีหลายประการ และไลบรารี่ส่วนใหญ่ดูเหมือนจะเข้ากันได้ดีมากหรือเข้ากันได้อยู่แล้ว Liftoff นั้นถูกสร้างขึ้นโดยใช้ Kotlin 2.x รวมถึงโค้ด Java ที่สำคัญ (เข้ากันได้กับ Java 8)
บางสิ่งมีโครงสร้างที่แตกต่างกันในโปรเจ็กต์ Liftoff เมื่อเปรียบเทียบกับโปรเจ็กต์การตั้งค่า gdx โดยที่ gdx-setup ใส่การกำหนดค่าเกือบทั้งหมดใน /build.gradle
(ในรูทโปรเจ็กต์) รวมถึงสำหรับโปรเจ็กต์ย่อยเช่น android
หรือ html
ด้วย Liftoff จะใส่เฉพาะการกำหนดค่าที่ใช้ร่วมกันในรูท build.gradle
เก็บข้อมูลเวอร์ชันที่ผู้ใช้กำหนดค่าได้ทั้งหมดไว้ใน /gradle.properties
และย้ายการกำหนดค่าต่อโครงการไปที่ /core/build.gradle
, /android/build.gradle
, /html/build.gradle
ฯลฯ นอกจากนี้ Liftoff ยังเรียกโครงการที่ขึ้นอยู่กับ LWJGL3 lwjgl3
เนื่องจากคุณสามารถสร้าง โปรเจ็กต์ที่ขึ้นอยู่กับ LWJGL2 และที่เรียกว่า lwjgl2
คุณอาจต้องเปลี่ยนการอ้างอิงถึงโมดูล "เดสก์ท็อป" (เนื่องจาก gdx-setup เรียก LWJGL3) เป็น lwjgl3
เนื่องจากนั่นเป็นโมดูลเดสก์ท็อปที่เป็นไปได้มากที่สุดที่คุณจะใช้
หากคุณกำลังเพิ่มการขึ้นต่อกันให้กับไฟล์ build.gradle คุณอาจต้องเพิ่มไฟล์เหล่านั้นลงใน /core/build.gradle
แทนที่จะเป็น /build.gradle
ในรูท การขึ้นต่อกันบางอย่างอาจต้องเพิ่มส่วนต่างๆ ใน /lwjgl3/build.gradle
, /html/build.gradle
และอื่นๆ หากไลบรารีบอกให้เพิ่มบรรทัดในส่วนการขึ้นต่อกัน นั่นมักจะหมายถึงบล็อกที่อยู่ภายใน dependencies { }
แต่ ไม่ใช่ ใน buildscript { }
มักจะมีบล็อกการขึ้นต่อกันสองบล็อก และโดยทั่วไปคุณต้องการบล็อกสุดท้าย เทมเพลตที่เลือกใน Liftoff จะจัดการสิ่งนี้โดยอัตโนมัติ
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้แอปพลิเคชันและวิธีการทำงาน โปรดดูคู่มือการใช้งาน หากคุณต้องการมีส่วนร่วมในโครงการ คุณอาจพบว่าเอกสารสถาปัตยกรรมมีประโยชน์
เมื่อส่งคำขอดึง โปรดจัดรูปแบบแอปพลิเคชันด้วยงาน ktlintFormat
Gradle
โปรเจ็กต์ถูกแยกจากที่เก็บ czyzby/gdx-setup
@czyzby และ @kotcrab สร้างแอปพลิเคชันดั้งเดิม รวมถึงชุดของไลบรารีที่ขึ้นอยู่กับ ( gdx-lml
และ VisUI
ตามลำดับ) ตั้งแต่นั้นมา โครงการนี้ได้รับการดูแลโดย @tommyettinger ขอแสดงความนับถือ czyzby กลับมาและทำการปรับปรุงต่างๆ มากมาย ขอบคุณมากจริงๆ! ขอขอบคุณ @metaphore ซึ่งตอนนี้ดูแล gdx-lml (ซึ่งสิ่งนี้ใช้และอาจยังคงใช้อยู่)
@raeleus สร้างสกิน Particle Park สำหรับ scene2d.ui ซึ่งได้รับการปรับให้เป็นสกินเริ่มต้นที่เพิ่มให้กับโปรเจ็กต์ใหม่ (หากเลือกตัวเลือก "สร้างเนื้อหา UI" ) "Accademia di Belle Arti di Urbino และนักศึกษาหลักสูตร MA สาขาวิชาการออกแบบภาพ" ได้สร้างแบบอักษร Titillium Web ที่สกินใช้ (ภายใต้ใบอนุญาต SIL OFL) ใช่แล้ว และเขาได้ทำสิ่งอื่นๆ ที่เริ่มในเวอร์ชัน 1.12.1.10 เช่น เกือบทุกรุ่น ขอขอบคุณ raeleus เป็นอย่างยิ่งสำหรับการยกเครื่องประสบการณ์ผู้ใช้ใหม่ทั้งหมด!
ผู้ร่วมโครงการอื่นๆ ได้แก่ @Mr00Anderson, @lyze237, @metaphore (อีกครั้ง!) และ @payne911 ผู้ที่ไม่ได้สนับสนุนโค้ดโดยตรงยังคงช่วยได้มากด้วยการใช้เวลาทดสอบบนแพลตฟอร์มเช่น macOS และ iOS @JojoIce เป็นหนึ่งในหลายๆ คนที่สร้างความแตกต่างเกี่ยวกับ iOS และแน่นอนว่า ขอขอบคุณผู้ใช้งานกลุ่มแรกทุกคนที่อดทนรอการเปิดตัวเวอร์ชันที่ยังใช้งานได้บางส่วนตั้งแต่เนิ่นๆ!
ไอคอนแบบสุ่มที่สับและใช้สำหรับโปรเจ็กต์ Android มาจากโปรเจ็กต์ OpenMoji หากคุณต้องการใช้ไอคอนเหล่านี้ในรูปแบบที่ไม่เป็นระเบียบ เรามี openmoji-atlas เพื่อเข้าถึงอิโมจิเหล่านี้จาก libGDX อย่างสะดวกสบาย
ขอขอบคุณทุกคนที่ได้สร้างไลบรารีและเครื่องมือต่างๆ ที่ Liftoff ขึ้นอยู่กับ ตั้งแต่ทีมงานขนาดใหญ่ที่รับผิดชอบ Graal Native Image ไปจนถึง Construo โดยทีมงานเพียงทีมเดียว ฟีเจอร์ที่ดีที่สุดของ Liftoff ไม่ได้อยู่ในโค้ด Liftoff เลย
ขอให้โชคดีและเราหวังว่าคุณจะทำสิ่งที่ยอดเยี่ยม!