เขียนเกมด้วย LibGDX 1 – สร้างโปรเจ็ค LibGDX
สวัสดีครับ วันนี้จะมานำเสนอการเขียนด้วย libGDX กันครับ หากใครยังไม่รู้จัก libGDX ก็อ่านได้จากบทความนี้ครับ มาทำความรู้จักกับ LibGDX
บทความตอนอื่นๆ ในซีรีย์ เขียนเกมด้วย LibGDX ติดตามอ่านได้ตามลิงค์ข้างล่างเลยครับ
- เขียนเกมด้วย libGDX #1 – สร้างโปรเจ็ค
- เขียนเกมด้วย LibGDX #2 – Hello World
- เขียนเกมด้วย LibGDX #3 – Render และการรับ input
- เขียนเกมด้วย LibGDX #4 – Simple Game ภาคแรก
- เขียนเกมด้วย LibGDX #5 – Simple Game ภาคจบ
- เขียนเกมด้วย LibGDX #6 – Simple Game ภาคพิเศษ
- เขียนเกมด้วย LibGDX #7 - Simple Game - scene2d.ui
- เขียนเกมด้วย LibGDX #8 - Simple Game - Actor
สำหรับ LibGDX สามารถใช้ IDE เขียนได้หมด แต่ที่นิยมกันคือ Eclipse(ADT Bundel) และ IntelijIDEA ครับ แต่สำหรับบทความนี้ จะมานำเสนอวิธีการสร้างโปรเจ็ค LibGDX ด้วย ADT Bundle ครับ ผมเรียกสั้นๆ ว่า Eclipse ไปเลยแล้วกัน เพราะมันก็คือ Eclipse ที่มี Plugin Android Developer Tools นั่นเอง
ก่อนที่เราจะทำการติดตั้ง LibGDX จำเป็นต้องมีดังนี้ครับ
- Java JDK ติดตั้ง Java JDK บน Windows
- Android SDK ติดตั้ง Android SDK
- Eclipse+ADT Plugin หรือ ADT Bundle หรือ Intelij IDEA ติดตั้ง Eclipse บน Windows
หากใช้ Eclipse ต้องติดตั้ง ADT Plugin ด้วยนะครับ อย่าลืม
หากมีแล้วก็ลุยเลยครับ
สร้างโปรเจคเกม
ขั้นแรกเลย เริ่มสร้างโปรเจ็ค LibGDX เราจะใช้ตัว setup ที่ทาง LibGDX สร้างมาให้นะครับ ชื่อว่า gdx-setup.jar สามารถดาวน์โหลด ได้ที่นี่ Download gdx-setup.jar
Generate โปรเจ็ค
ทดลองเปิดตัว gdx-setup.jar ดูครับ จะได้หน้าตาดังภาพ
ไฟล์ .jar ถ้าเป็น Unix ให้คลิ๊กขวา แล้วเลือก Open with Java7 Runtime.. ครับ
จากนั้น ทำการ Setup ตัวโปรเจ็คเกมของเรากันเลยครับ
- Name : ใส่ชื่อเกมของเรา
- Package : ตั้งชื่อแพจเกจของเกมครับ
- Game class : ตั้งชื่อคลาสหลักของเกม
- Desination : เลือกที่เก็บตัวโปรเจคเกมของเรา (อันนี้จะเอาไปใช้เวลา import project ไป Eclipse หรือ Intelij IDEA ครับ)
- Android SDK : เลือก path ที่อยู่ของ Android SDK
เมื่อเสร็จแล้ว อย่ารอช้า กด Generate เลยครับ จะขึ้น ข้อความประมาณนี้ แสดงว่า Generate เรียบร้อยแล้ว
มาดูที่โฟลเดอร์ที่เราตั้งไว้เป็นที่เก็บตัวโปรเจ็ค จะได้โฟลเดอร์ประมาณนี้
ต่อไป ทำการ Import ด้วย Eclipse ครับ
Import โปรเจ็คด้วย Eclipse
ก่อนจะทำการ Import ไป Eclipse ได้จำเป็นต้องติดตั้ง Gradle Plugin ก่อนนะครับ เนื่องจากตัวเกมที่ Generate นั้นตั้งค่าด้วย Gradle
ไปที่ Help => Install new Software.. จากนั้นคลิ๊ก Add
- Name : ให้ใส่ชื่อที่ต้องการตั้ง เช่น Gradle Plugin
- Location: ใส่
http://dist.springsource.com/release/TOOLS/gradle
คลิ๊ก OK รอโปรแกรมทำการ fetch ข้อมูลซักแปป จะขึ้นรายละเอียดให้เลือก ให้ทำการเลือก Gradle IDE ใน Extensions / Gradle Ingregrationจากนั้นคลิ๊ก Next ยาวๆเลย จนถึงหน้า Review License ก็ให้กด I accept the term of the license agreements ตามรูปเลยครับ
รอ Install ซักพักใหญ่ๆเลยครับ เมื่อ Install เสร็จ ก็ Restart Eclipse ทีนึง แล้วมาต่อกันเลยครับ
เมื่อเปิด Eclipse มาแล้ว ไปที่เมนู => เลือก File => Import => Gradle => Gradle Project หรือ คลิ๊กขวาที่ตรงกล่อง Project Explorer ซ้ายมือ เลือก Import
Browse ไปที่โฟลเดอร์เกม ที่ Generate ไปก่อนหน้านี้ แล้วกด Build Model
รอโปรแกรมทำการ Generate และโหลด library ต่างๆ หากมันมีในเครื่องแล้ว ก็จะใช้เวลาไม่นาน
เมื่อเสร็จแล้ว ก็เลือก Platform ที่ต้องการ import เลยครับ ตรงนี้ผมเลือกหมดเลยทั้ง Android Desktop GWT(Browser) และ iOS ตัว Core นั้นคือตัวโปรเจ็คหลักเลยครับ อันนี้จำเป็นเลย ขาดไม่ได้ กด Finish
รอดาวน์โหลด Maven Dependencies ที่จะใช้ในโปรเจ็คอีกแล้ว รอพักนึงฮะ เมือ่เสร็จแล้วจะขึ้น ข้อความที่หน้า Console ประมาณนี้
ได้โครงสร้าง Project ดังนี้
ทดสอบรันโปรเจ็ค
ทดสอบรันโปรเจ็คเลยครับ คลิกขวาที่ตัว Desktop ก่อนครับ ที่ชื่อ AhoyBoxBox-desktop เลือก Run As => Java Application จากนั้นเลือก DesktopLauncher
โปรแกรมแรกที่เปิดจะมี error เนื่องจากมันหารูปไม่เจอ
ให้ทำการ Edit Configuration โดยไปที่ Run => Run Configurations..
เลือก DesktopLauncher ที่แท็ป Arguments => Working Directory เลือก Others จากนั้น browse ไปที่โฟลเดอร์ AhoyBoxBox-android/assets/
คลิ๊ก Apply => Run
LibGDX แม้มันจะรัน Cross-Platform แต่เวลาเขียน หรือช่วงที่กำลัง Develop อยู่นั้น ทุกๆโปรเจ็ค จะเรียกไฟล์จากโฟลเดอร์
project-android/assets/
จะได้หน้าตาแบบนี้ แสดงว่าติดตั้งเสร็จเรียบร้อยแล้ว
หรือจะลองเปิด LibGDX ด้วย Android ก็คลิกขวาที่ตัว android โปรเจ็ค AhoyBoxBox-android แล้วเลือก Run As => Android Application เหมือนกับโปรเจ็ค Android ทั่วๆไป แต่ต้องเทสกับ Genymotion หรือเครื่องจริง ที่สนับสนุน OpenGL 2.0 นะครับ
Android Emulator ไม่สามารถรันได้ เนื่องจาก LibGDX ใช้ OpenGL 2.0
เอาละครับ บทความนี้ก็มีคร่าวๆแค่นี้ แนะนำวิธีติดตั้ง LibGDX บน Eclipse กันไปก่อน ยังไม่พูดถึงภาพรวมการทำงาน ขั้นตอนการเขียนเกมส์ แล้วพบกันบทความหน้าครับ
- Authors
-
Chai Phonbopit
เป็น Web Dev ในบริษัทแห่งหนึ่ง ทำงานมา 10 ปีกว่าๆ ด้วยภาษาและเทคโนโลยี เช่น JavaScript, Node.js, React, Vue และปัจจุบันกำลังสนใจในเรื่องของ Blockchain และ Crypto กำลังหัดเรียนภาษา Rust