ผลต่างระหว่างรุ่นของ "Oop lab/simple ship game"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 8: | แถว 8: | ||
* Game [http://slick.ninjacave.com/javadoc/org/newdawn/slick/Game.html javadoc] - เป็น object ที่มีเมท็อดพื้นฐานของวนรอบของเกม คือ '''init''', '''update''', และ '''render''' | * Game [http://slick.ninjacave.com/javadoc/org/newdawn/slick/Game.html javadoc] - เป็น object ที่มีเมท็อดพื้นฐานของวนรอบของเกม คือ '''init''', '''update''', และ '''render''' | ||
+ | ** void init(GameContainer container) | ||
+ | ** void update(GameContainer container, int delta) | ||
+ | ** void render(GameContainer container, Graphics g) | ||
* GameContainer [http://slick.ninjacave.com/javadoc/org/newdawn/slick/GameContainer.html javadoc] - เป็น object ที่จัดการเกี่ยวกับการอ่านข้อมูลจากผู้ใช้ (input) การวนรอบเกม และการจัดการเกี่ยวกับการแสดงค่า fps (frame per seconds) | * GameContainer [http://slick.ninjacave.com/javadoc/org/newdawn/slick/GameContainer.html javadoc] - เป็น object ที่จัดการเกี่ยวกับการอ่านข้อมูลจากผู้ใช้ (input) การวนรอบเกม และการจัดการเกี่ยวกับการแสดงค่า fps (frame per seconds) | ||
รุ่นแก้ไขเมื่อ 11:27, 24 สิงหาคม 2557
- หน้านี้เป็นส่วนหนึ่งของ oop lab
เราจะเขียนเกมยานอวกาศบน Slick2D กัน สำหรับส่วนนี้เราจะได้ทดลองใช้ Slick2D ในการแสดงรูปภาพและอ่านการกดปุ่มจากผู้ใช้แบบการถาม (polling)
โครงสร้างเกมพื้นฐาน
เกมใน Slick2D จะเป็นการทำงานร่วมกันของ object สอง object หลัก คือ
- Game javadoc - เป็น object ที่มีเมท็อดพื้นฐานของวนรอบของเกม คือ init, update, และ render
- void init(GameContainer container)
- void update(GameContainer container, int delta)
- void render(GameContainer container, Graphics g)
- GameContainer javadoc - เป็น object ที่จัดการเกี่ยวกับการอ่านข้อมูลจากผู้ใช้ (input) การวนรอบเกม และการจัดการเกี่ยวกับการแสดงค่า fps (frame per seconds)
หมายเหตุ: โดยทางเทคนิคแล้ว Game เป็น interface และ GameContainer เป็น abstract class เราจะได้เรียนแนวคิดดังกล่าวต่อไป
เราไม่มีความจำเป็นต้องเขียนคลาส GameContainer ขึ้นมาใหม่ โดยเราจะใช้วัตถุจากคลาส AppGameContainer (ซึ่งจัดเป็น GameContainer ประเภทหนึ่ง) ในโปรแกรมของเรา อย่างไรก็ตาม เราต้องสร้างวัตถุประเภท Game ขึ้นมาเอง เพราะว่านั่นคือแกนหลักของเกมของเรา