ผลต่างระหว่างรุ่นของ "Oop lab/gdx examples"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 40: | แถว 40: | ||
=== โครงสร้างเกม === | === โครงสร้างเกม === | ||
+ | จะพบว่าเรามี project สองอัน คือ theplanethatcouldntflygood-core กับ theplanethatcouldntflygood-desktop โค้ดหลักจะอยู่ใน core | ||
+ | |||
+ | ==== คลาส ==== | ||
+ | * มีคลาสหลักแค่คลาสเดียวคือ PlaneGame เป็น subclass ของ ApplicationAdapter ในนั้นมีคลาส Rock | ||
+ | * เมท็อดสำคัญ | ||
+ | ** create | ||
+ | ** render | ||
+ | *** updateWorld | ||
+ | *** drawWorld | ||
+ | |||
+ | * วัตถุประเภทต่าง ๆ จากไลบรารี | ||
+ | ** Rectangle | ||
+ | ** Vector2 | ||
+ | ** Texture, TextureRegion | ||
+ | ** SpriteBatch, Animation | ||
+ | ** OrthographicCamera | ||
+ | ** BitmapFont | ||
+ | ** Music, Sound | ||
== Super Jumper == | == Super Jumper == |
รุ่นแก้ไขเมื่อ 02:45, 16 กันยายน 2559
- หน้านี้เป็นส่วนหนึ่งของ OOP lab
เราจะดูโครงสร้างของเกมที่เขียนโดยใช้ไลบรารี GDX โดยพิจารณาจากสอง project
เนื้อหา
The plane
- นี่เป็นเกม clone จาก Flappy bird
- ลิงก์: github
ทดลองรัน
แก้ gradle config
ให้ clone project มาในเครื่อง เลือกไดเร็กทอรีที่เหมาะสม แล้วสั่ง
git clone https://github.com/badlogic/theplanethatcouldntflygood.git
เกมดังกล่าวถูกพัฒนาเพื่อให้ทำงานได้บน Android, iOS และบนเว็บ ในการคอมไพล์ (build) ถ้าจะสมบูรณ์ต้องมี Android SDK แต่เราจะสนใจเฉพาะ Desktop เท่านั้น ดังนั้นจะต้องไปแก้ config บางส่วนก่อน เนื่องจากเกมบน GDX จะ build ด้วย Gradle เราจะไปแก้ config ของ gradle ดังนี้
- settings.gradle ลบ project อื่น ๆ ออก โดยตัดให้เหลือแค่ 'desktop' กับ 'core'
include 'desktop', 'core'
- build.gradle ไล่ลบส่วนที่เขียนว่า project(":android") { ... }, project(":ios") {... }, และ project(":html") { ... }
import เข้า eclipse
เลือก Import > Gradle > Gradle Project
จากนั้นเลือก directory ที่เรา clone มา กดดูการนำเข้าและ build จนเสร็จ
ตั้งค่า config ตอนรัน
ถ้าเราสั่งรันเลย จะมีปัญหาว่าระบบจะหา asset ไม่เจอ ต้องไปตั้ง working directory เป็น android/assets เสียก่อน โดยดำเนินการดังนี้
เลือก Run > Run Configurations... > Java Application > เลือก DesktopLauncher ที่ต้องการ > เลือก tab Arguments > ส่วน Working directory
แล้วเลือก File Systems... จากนั้นเลือกไปที่ theplanethatcouldntflygood/android/assets
จัดเก็บและสั่งรัน
โครงสร้างเกม
จะพบว่าเรามี project สองอัน คือ theplanethatcouldntflygood-core กับ theplanethatcouldntflygood-desktop โค้ดหลักจะอยู่ใน core
คลาส
- มีคลาสหลักแค่คลาสเดียวคือ PlaneGame เป็น subclass ของ ApplicationAdapter ในนั้นมีคลาส Rock
- เมท็อดสำคัญ
- create
- render
- updateWorld
- drawWorld
- วัตถุประเภทต่าง ๆ จากไลบรารี
- Rectangle
- Vector2
- Texture, TextureRegion
- SpriteBatch, Animation
- OrthographicCamera
- BitmapFont
- Music, Sound