tutorial : your first game - วิศวกรรมคอมพิวเตอร์...
TRANSCRIPT
Tutorial : Your first gameโปรแกรม : game maker version 6.1, simple modeระดบการเรยนร : ผเรมใชโปรแกรม
object ประสงค1. ใหนกเรยนสามารถเขาใจพนฐานการทำางานตางๆของโปรแกรมได2. ใหนกเรยนสามารถสรางเกมระดบเบองตนได
แนวความคดของเกมการระบรายละเอยดตางๆของเกมทจะสรางเปนสงสำาคญ และเนองจาก
เปนแบบฝกหดแรกทจะใชเพออธบายพนฐานการทำางานตางๆของโปรแกรม game maker เกมจงออกแบบใหสรางไดงาย แตสามารถสรางความสนใจใหผเลนไดโดยใชเวลาไมนาน โดยเกมทจะสรางขนในแบบฝกหดน เปนเกม action ชอวา Catch the Clown(เกมไลจบตวตลก) มรายละเอยดตางๆของเกมดงนCatch the Clown
Catch the Clown (เกมไลจบตวตลก) เปนเกมทจะมตวตลกวงไปมาอยในหนาตาง โดยผเลนตองใชเมาสจบตวตลกใหได ยงเลนนาน การเคลอนทของตวตลกจะยงเรวขน ทำาใหผเลนสามารถจบการเคลอนไหวของตวตลกไดยากขน โดยมเปาหมายของเกมคอ การทำาคะแนนจากการจบตวตลกใหไดมากทสด คาดวาผเลนจะใชเวลาในการเลนเกมนแตละครงไมนาน
เอกสารการออกแบบเกมการเขยนเอกสารการออกแบบเกมเปนสงทควรทำาอยเสมอ เอกสาร
ออกแบบเกมของเกม Catch the Clown มรายละเอยดทนอกเหนอจากทกลาวไปแลวดานบน ดงนเอกสารออกแบบเกม Catch the Clown
Game objects ( object ทใชในเกม)เกมนม object เพยงสองชนดคอ ตวตลก และ กำาแพง โดยท กำาแพง
แตละอนมรปรางสเหลยมจตรส ทำาหนาทลอมรอบพนททใชในการเลนทงหมด และไมใหตวตลกวงเลยออกนอกพนทนไป สวนตวตลกนนจะทำาการเคลอนทดวยความเรวคงท โดยจะสะทอนกลบเมอกระทบกบกำาแพง หากผเลนสามารถ
1
ใชเมาสจบตวตลกได จะได 10 คะแนน และจะทำาการสมสถานทเกดใหม พรอมทงเพมความเรวใหมากขน
Sounds (เสยงทใชในเกม)ใชสองเสยงดวยกน คอ เสยงทใชสำาหรบเวลาตวตลกกระทบกบกำาแพง
และ เสยงทใชตอนผเลนสามารถใชเมาสจบตวตลกได
Controls (การควบคมเกม)ใชเมาสในการควบคมเกม และผเลนตองกดเมาสปมซายในการจบตว
ตลก
Game flow (การดำาเนนเกม)เมอเรมเกมคะแนนจะมคาเปน 0 ตวตลกจะเรมวงทนท และเกมจะจบ
เมอผเลนกดปม Esc
Levels (ระดบในเกม)เกมนจะมเพยงระดบเดยว โดยความยากของเกมจะอยทความเรวของ
ตวตลกทเพมขนทกครงหากผเลนสามารถไลจบไดสำาเรจ
เรมสรางเกมเปดโปรแกรม game maker 6.1 เลอกทำางานโปรแกรมแบบงาย
( simple mode ) โดยการทำางานของโปรแกรมสามารถเปลยนแบบเปนแบบงาย หรอ แบบขนสง (advanced mode) ได โดยเลอก File -> Advanced Mode ในการทำางานแบบขนสงนน จะทำาใหผใชสามารถสงการทำางานแบบซบซอนตางๆไดมากขน แตยงไมจำาเปนตอการสรางเกมในระดบน
วธการสราง sprites และ เสยงใน game makerใน Game Maker จะเรยกไฟลรปภาพตางๆวา sprite เชน รป
กำาแพง หรอ รปของตวตลกทจะใชในเกม วธการสรางรปภาพตางๆนน สามารถสรางไดโดยใชโปรแกรมอนๆแลวนำาภาพเหลานนเขามาในเกม หรอ จะสรางในโปรแกรม Game Maker โดยตรงเลยกได หรอใชวธคนหาจากแหลงอนๆ เชน อนเทอรเนต เปนตน
2
สำาหรบเกมทจะสรางตอไปน จะใช ไฟลรปภาพดงน คอ
ตวตลก : กำาแพง :
วธการนำาเขาไฟลรปภาพเหลาน มาทำาเปน sprite ใน Game Maker คอ ทเมนบารดานบนของโปรแกรม เลอก Add ->Add Sprite จะเกดหนาตางดงตอไปน
รปท 1 แสดงหนาตางหลงจากเลอก Add Sprite
จากนนทำาตามขนตอนดงน1) กดปม Load Sprite แลวเลอกไปยงตำาแหนงของไฟลทเปนรปตว
ตลก จากนนใชช อของ sprite เชน spr_clown (เน องจากใน Game Maker นน ม object หลายชนดดวยกน หากตงชอ object แบบ sprite ใหขนตนดวย spr_ จะทำาใหเมอมาดภายหลงแลว รไดทนทวา object นเปนชนด sprite )
2) เ ล อ ก ใ ห ม เ ค ร อ ง ห ม า ย ถ ก ต ร ง ส ว น Transparent (Transparent คอ การทำาใหพนหลงของรปภาพโปรงใส เพอทเราจะไดเหนฉากดานหลงรปภาพได)
3
รปท 2 แสดงหนาตางหลงจากทำาตามขนตอนตางๆขางตน
หากทำาไดตามรปท 2 แลว กด OK เพอทำาการยนยนในการเพมรปภาพดงกลาวหรอ sprite ลงในโปรแกรม จากนน ใชวธเดยวกนน ในการนำาเขารปกำาแพง เพอเปน sprite ในโปรแกรม โดยใชชอวา spr_wall
ขอสงเกตหากทำาตามขนตอนตางๆขางตนแลว จะพบวา ดานซายของโปรแกรม
Game Maker จะปรากฏชอของทงสอง sprite ดงกลาว ซงเราจะสามารถคนหา sprite ตางๆ, ไฟลเสยงตางๆ, object ตางๆ ฯลฯ ทงหมดทมอยในโปรแกรมขณะนนไดเสมอทสวนนของโปรแกรม ซงเรารวมเรยก ไฟลsprite, ไฟลเสยง, ไฟล object ทงหมดของโปรแกรมวา ทรพยากร (resources) ของเกม ซ งเราสามารถเลอกทรพยากรเหลานไดโดยการเลอกทช อของทรพยากรทตองการ และเรายงสามารถเปลยนคณสมบตตางๆ , คดลอกทรพยากร หรอ ลบทรพยากรนนออกจากโปรแกรมได โดยการเลอกทชอของทรพยากรนนแลวเลอก Edit ทเมนบาร หรอ กดปมเมาสขวาทช อของทรพยากรนน เปนตน
หลงจากใสไฟลรปภาพทงหมดทตองการมาเปน sprite ในโปรแกรมแลว ขนตอไป คอ ใสไฟลเสยงลงโปรแกรม ซงม สองไฟล คอ ไฟลเสยงทใชเมอตวตลกชนกำาแพง และไฟลเสยงทใชเมอผเลนสามารถกดเมาสทตวตวตลกได
4
ซงในการนำาเขา เสยงทใชเมอตวตลกชนกำาแพงมขนตอนตางๆ ดงน1) ทเมนบาร เลอก Add -> Add Sound จะปรากฏหนาตางดงรปท
3
รปท 3 แสดงหนาตางเมอผใชตองการนำาเขาไฟลเสยง หลงจากการเลอก Add –> Add Sound
2) กดปม “Load Sound” แลวเลอกไฟลเสยงทตองการใชเมอตวตลกชนกำาแพง
3) ปมลกศรสเขยวดานซายไวสำาหรบเลนทดสอบไฟลเสยงทเราเลอกไว และปมสเหลยมสแดง คอ หยดเลนทดสอบเสยงดงกลาว
4) ใสช อไฟลเสยงทตองการ โดยหากขนตนชอของทกไฟลเสยงวา snd_ จะทำาใหสามารถอางถงไฟลเสยงทกไฟลในภายหลงไดงาย
5) กด OK เพอทำาการยนยนการเพมไฟลเสยงดงกลาวเขาสโปรแกรมเมอทำาตามขนตอน 1 ถง 5 ขางตนแลว สงเกตวา หนาตางทแสดง
ทรพยากรทงหมดของโปรแกรม มชอของไฟลเสยงดงกลาวปรากฏขน จากนน ใหทำาการเพมไฟลเสยงทเหลอ คอไฟลเสยงทใชสำาหรบเวลาผใชกดเมาสถกตวตลกดวยวธเดยวกน
อยางไรกตาม การใสไฟลรปภาพเขามาเปน sprite ในโปรแกรม หรอ การใสเสยงตางๆทจำาเปนเขามาในโปรแกรม ยงไมไดหมายความวา การสรางเกมๆหนงเสรจสน เนองจาก sprite เปนเพยงรปภาพสำาหรบแปะลงบน object ในเกม ( game object ) ซงเรายงไมไดสราง object ใดๆขนมาเลย ดงนน ขนตอไป คอ การสราง object ในเกม (game object ) เพอใชในการควบคมไฟลภาพ ไฟลเสยง และการทำางานตางๆของเกมตอไป
5
วธการสราง object ในโปรแกรมและการทำางานตางๆของ object นน ( objects and actions)
กอนทจะสราง game object นน เราจำาเปนตองเขาใจวธการทำางานของโปรแกรม Game Maker กอน นนคอ แตละเกมทสรางโดย Game Maker นน ประกอบดวยหลายๆ object (game object หรอ object นนเอง)
object หรอ object เปนหนงในหวใจส ำาคญสำาหรบการเขยนโปรแกรม คอ เปนแมแบบทจะใชสราง object ลก หรอ instance ขนมาใหมาท ำางานตางๆในโลกของเกม และก เป นตว instances ของ game objects เหลาน นนเอง ทจะถกสรางขนมาเพอปรากฏออกหนาจอ โดยท หนง game object สามารถสราง instance ขนมาทำางานไดหลายตวพรอมกน ยกตวอยางเชน ในเกม Catch the Clown ทกำาลงจะสรางขนนน จะประกอบดวยหลาย instance ของ object กำาแพง (wall object ) ท ถกสรางขนเพอทำาหนาทลอมรอบพนทของเกม และเนองจากในเกม ตวตลกทเคลอนทไปมาใหผเลนกดนน จะมอนเดยวเทานน ดงนน instance ของ object ตวตลก (clown object ) จงมตวเดยว เปนตน
Instance ของ object จะทำาหนาทตามทเราสงใหทำาเทานน โดยเราสามารถสงวธการใหมนทำางานไดวา หากเกดเงอนไข หรอ เหตการณ (Event) หนงๆแลว instance ของ object เหลาน จะตองมการตอบสนองอยางไร
ในโปรแกรม Game Maker นน มหลายเหตการณอยด วยกน ทสามารถเกดขนกบ instance ตางๆได โดยเหตการณแรกสดทสำาคญมาก จะถกเรยกเม อ instance แต ละต วถกสร าง ค อ Creation Event ยกตวอยางเชน เราตองสง instance ของ object ตวตลกวา เมอมนถกสรางขนมาแรกสดนน มนตองเคลอนทไปทางไหน เปนตน เหตการณ หรอ event อน ท ส ำาค ญ เชน เม อ ม 2 instances ใดๆ ชนกน จะเก ดเหตการณ Collision Event ยกตวอยางเชน เมอ instance ของ object ตวตลก ชนกบ instance ของ object กำาแพง ทำาใหตวตลกตองตอบสนองการชนดงกลาวดวยการเปลยนทศทางการเคลอนทไปในทางอน เพอไมใหว งเลยกำาแพงไป เปนตน
การระบวธการตอบสนองตอเหตการณหรอ event ตางๆ เราเรยกวา action โดยทในโปรแกรม Game Maker นน ม action ใหเราเลอกไดมากมาย เชน ม action ทกำาหนดทศทางการเคลอนทของ instance, ม
6
action ทสามารถเปด/ปดเสยง, ม action ทสามารถเปลยนคาคะแนน หรอ score เปนตน
ดงนนในการสราง object ในเกม ( game object ) นน ประกอบดวยกระบวนการตางๆ เชน
- ใส sprite ให object นนๆ เพอใชเปนภาพสำาหรบแสดง object น ออกสหนาจอ
- ปรบเปลยนคาคณสมบตตางๆของ object นนๆ- ระบเหตการณทตองการให instance ของ object นมผลกระทบ
และวธการของการตอบสนองตางๆ (action) ตอเหตการณเหลานน
ดงนนในการสรางเกม Catching the Clown นน เราจงตองการ object 2 ชนดดวยกน
object ชนดแรกทจะทำาการสรางตอไปน คอ object กำาแพง ( wall object ) การสราง object ชนดนทำาไดงาย เนองจากกำาแพงจะถกวางเฉยๆในตวเกม ไมจำาเปนตองมการตอบสนองตอเหตการณ (event) ใดๆ ประกอบดวยขนตอนดงน
1) ทเมนบาร เลอก Add -> Add object จะปรากฏหนาตางขนมา ดงรปท 4
รปท 4 แสดงหนาตางทใชในการสราง object ลงโปรแกรม Game Maker
7
2) ใสชอของ object นทดานซายของหนาตาง เนองจากเราตองการสราง object กำาแพง จงใสชอวา obj_wall เปนตน (การใสคำาวา obj_ นำาหนาชอทมชนดเปนของ object ในโปรแกรม จะทำาใหงายตอการสรางเกมในภายหลง)
3) เลอก sprite ให object ชนดน โดยการ กดเมาส ทรปดานขวาลางของชอง sprite ทางดานซายของหนาตาง แลวเลอก spr_wall
4) เลอกใหมเคร องหมายถกหนาคำาวา Visible และ Solid เนองจากเราตองการใหผ เล นมองเหน object น (Visible) และ ไมต องการให object อนสามารถวงผาน object ชนดนได (Solid)
5) กด OK เพอทำาการยนยน การสราง object กำาแพง
สำาหรบการสราง object ตวตลกนน สรางดวยวธเรมแรกแบบเดยวกนกบ object กำาแพง คอ กด Add-> Add object , ใสชอเปน obj_clown แลวเลอก sprite ทเปนรปตวตลก เราจำาเปนตองไมเลอกใหมนเปนแบบ solid (ไมมเครองหมายถกหนาคำาวา solid) แตสำาหรบ object ตวตลกนนยงตองมขนตอนเพมเตมจาก object กำาแพง นนคอ ใสเหตการณและการตอบสนองตางๆให object ตวตลกดวย
ตรงกลางของหนาตางในรปท 4 ใตคำาวา Events จะมชองของรายการซงขณะนยงวางอย ชองของรายการนจะทำาหนาทแสดงเหตการณ (event) ตางๆทตองการใหมผลกระทบกบ object ชนดน โดยทดานลางของชองนมปมอยสามปมดวยกน ชวยใหเราสามารถ เพมเหตการณลงในชองรายการของเหตการณด านบน , ลบเหตการณออกจากรายการ หรอ เปล ยนแปลงเหตการณตางๆได ซงในโปรแกรม Game Maker นน มเหตการณใหเลอกอยหลายชนดดวยกน แตในเกมทจะสรางขนน มเหตการณทจำาเปนตองใชอยเพยงไมกชนดเทานน
ถดมาทางดานขวาของรายการของเหตการณ คอ รายการของ action ทให object นกระทำา ตอเหตการณหนงๆ ซงเราสามารถเลอก action ตางๆไดจาก ปมทางดานขวาสดของหนาตางน (หากเราเอาเมาสวางคางไวบนปมเหลาน จะปรากฏขอความสนๆขนมาอธบายวา action แตละอนนนคออะไร) วธในการใช action เหลาน คอ ลากปม action ทตองการ ลงบน รายการของ action ทอยตดกนถดไปทางซาย
เรมทำาการกำาหนดเหตการณตางๆให object ตวตลก
8
1. เหตการณแรกทจะสราง คอ Create Event โดยเราจะตองทำาการกำาหนดทศทางทตองการใหตวตลกวงไป ทำาไดโดย
1) เลอกปม Add Event ในหนาตางดงรปท 4 จะเกดหนาตางขนมาดงรปท 5
รปท 5 แสดงหนาตางทจะโผลขนมาหลงจากผใชกดปม Add Event จากหนาตาง Add object
2) กดปม Create เพอทำาการเพม create event ลงในรายการของ event ของ object น
3) ลากปมทเปนรปลกศรแปดทศทางสแดงทอยทางดานขวาของหนาตาง ลงรายการของ action ปมนทำาหนาทเกยวกบการกำาหนดทศทางการเคลอนทของ instance เมอลากปมนลงไปในรายการ action แลว จะเกดหนาตางขนมาดงรปท 6
9
รปท 6 แสดงหนาตางเมอนำา action “Start moving in a direction”ลากไปใสไวในรายการของ action
4) ใสค าตางๆ ตามรปท 6 เนองจากเราตองการให object สามารถเรมเคลอนทไปในทศทางใดกได จงเลอกหมดทกทศทาง และใสคาความเรวเรมตนให object เปน 4
5) กด OK เพอยนยนคณสมบตตางๆของ action นเมอทำาการยนยนแลว จะกลบมายงหนาตาง object Properties ดง
รปท 7
10
ก ำาหนดทศทางทตองการใหเคลอนท หากเลอกม า ก ก ว า 1 ท ศ โ ป ร แ ก ร ม จ ะท ำาการเล อกท ศ
ร ะ บ ความเรวในการ
รปท 7 แสดงหนาตางทไดหลงจากทำาตามขนตอนตางๆขางตน
2. เหตการณทเกยวของกบการชนกบกำาแพง หรอ Collision Event ทำาไดตามขนตอนดงน
1) เลอกปม Add Event ในหนาตางดงรปท 4 เพอใหเกดหนาตางรปท 5 ขนมา
2) เลอกปมชอวา Collision แลวทำาการเลอก object กำาแพง เพอตองการให object ตวตลกนทำาการตรวจสอบการชนกบ object กำาแพง
3) ลากปม bounce action ทอยทางขวาลางสดของหนาตาง มาไวในรายการ action ดงรปท 8
11
รปท 8 แสดงหนาตางของคณสมบตของ bounce action
4) เนองจากเราไมจำาเปนตองทำาการตรวจสอบการชนอยางถกตองสมบรณตามกฎฟสกส และ เราตองการใหตรวจสอบการชนกบ object ทมคณสมบตเปน solid เทานน ( เราไดทำาการลอกให object กำาแพงมคณสมบต solid แลว เม อตอนสราง object กำาแพงขนมา) ดงนน คาตางๆจงถกตองอยแลว ใหกด OK เพอยนยนการใส action น
5) เนองจากเราตองการใหเกดเสยงการชนขน เมอตวตลกมการชนกบกำาแพง ดงนน จงตองทำาการใส sound action ลงในเหตการณการชนนดวย เลอกไดโดย เลอกแทป main 1 จากชองดานขวาสด ของหนาตาง object properties แลวลากปมทมลกษณะเหมอนลำาโพงลงบนรายการของ action
6) จะเกดหนาตางขนมา ดงรปท 9
12
รปท 9 แสดงหนาตางคณสมบตของ sound action
ทหนาตางน สามารถใสคาได 2 คา โดยทคาแรกคอ เสยงทตองการใหเลน และ ตองการใหวนเลนเสยงดงกลาวอยางไมมทสนสดหรอไม เนองจากเราไมตองการใหเลนเสยงดงกลาวอยางไมสนสด จงเลอกเปนคา false ดงรปท 9 จากนนกดปม OK เพ อท ำาการยนยน action น ท ำาใหหนาตางคณสมบต ของ object ตวตลกน จะมลกษณะดงรปท 10
13
กดเพอเล อกเสยงท
ใ ส ค า true เ ม อตองการใหวนเลนเพลงซ ำา ไมมท ส นสด
ใ ส ค า false เ ม อ
รปท10 แสดงหนาตางคณสมบตของ object ตวตลก เมอทำาตามขนตอนตางๆขางตน
14
3. เหตการณทเกดขนเมอผเลนสามารถใชเมาสจบ object ตวตลกได หรอ Mouse Event ทำาไดตามขนตอนดงน
1) เลอกปม Add Event ในหนาตางดงรปท 4 เพอใหเกดหนาตางรปท 5 ขนมา
2) เลอกปมชอวา Mouse จะเกดเมนขนมาดงรปท 11 แลวเลอก Left pressed(Left pressed คอ เหตการณทมคนกดเมาส ณ ตำาแหนง instance ของ object หนง) เนองจากเราตองการใหผเลนใชเมาสปมซายในการกดจบ object ตวตลก
รปท 11 แสดงเมนเมอเลอกเหตการณของ Mouseเหตการณกดเมาสอนๆนน เกดโดยไมสนวากดทตำาแหนง object ใด
ในกรณของเกม Catch the clown นน action เมอผเลนกด Mouse ปมซาย มสามกรณคอ
- เพมคะแนน (score) เม อผเลนกดโดน object ตวตลก ทำาไดโดย เลอกคำาวา score ทดานขวาสดของหนาตาง
15
แลวลาก action Set the score (รป ) เขามาในรายการของ action จะปรากฏหนาตางขนมาดงรปท 12
รปท 12 หนาตางคณสมบตของ action set the score
เราตองการให ทกคร งท ผ เล นกดเมาสปมซายลงบน object ตวตลกได จะไดคะแนนเพม 10 คะแนน จงใสคา new score = 10 และ ทำาการเลอกท Relative check box ดานลาง เพอบอกโปรแกรมวา คาใหม ทมคาเทากบ 10 น ใหทำาการเพมจากคาเดมทมอย ( “Relative” มความหมายวา ใหเทยบกบคาเดม)
เมอใสคาตางๆตามรปท 12 แลว กด OK เพอทำาการยนยน
- action ตอมา คอ การสงโปรแกรมใหเลนเสยงเมอผเลนกดเมาสซายถก object ตวตลก ซง action นมวธการเกยวกนกบการใสเสยงเมอ object ตวตลกกระทบกบ object กำาแพง ทไดกลาวไปแลวขางตน
- action ตอมา คอ การสงให object ตวตลกเคลอนทไปยงตำาแหนงใหมทกคร งทผเลนสามารถใชเมาสซายกดถกตว
16
มนได ทำาไดโดยเลอกแทป Move ทดานขวาสดของหนาตาง
แลวลาก action jump to a random position ( รป ) เพมไปยงรายการของ action จะเกดหนาตางดงรปท 13
รปท 13 แสดงหนาตางคณสมบตของ jump to a random position action
เนองจากคาเรมตนทโปรแกรมใหมานน เหมาะสมกบเกมทเราจะสรางขนแลว จงกด OK เพอยนยนการเพม action นใหกบเกม
- action สดทาย คอ การสงให object ตวตลกเปลยนทศทางการเคลอนท และเพมความเรวของ object ตวตลกนเลกนอย เพอเพมความยาก เปนการเพมความสนกใหกบผเลน
ซ งสามารถทำาได โดยใช action รป เหมอนตอนทส งให object ตวตลกเร มเคลอนทตอนแรก แตเปลยนคาตางๆให เหมาะสมกบความตองการ คอ ใสคาของความเรวเปน 0.5 และกดเลอกคำาวา Relative (นนคอ ทกครงทผเลนสามารถกดถก object ตวตลกได ความเรวของ object ตวตลก จะเพมขนเปนคร งหนงของความเรวทมอยเดม ) จากนน กด OK เพอยนยนการสงการ แลวจะไดหนาตาง ลกษณะตรงกบรปท 14
17
รปท 14 แสดงหนาตางทไดหลงจากทำาตามขนตอนตางๆขางตนเสรจสน
จากนน กด OK เพอยนยนการเพมคณสมบตตางๆของ object ตวตลกน
วธการสรางฉาก ( room )เนองจากเราสราง object ทจำาเปนตอเกมแลว อกหนงขนตอนทเหลอ
คอ การสรางฉากของเกม โดยในเกมสวนใหญแลว ขนตอนการสรางฉากของเกม เปนขนตอนทตองใชเวลามาก เนองจากตองคำานงถงสมดลของแตละฉากดวย แตเกม Catch the Clown ทจะสรางขนน มเพยงฉากเดยว และเปนฉากงายๆ ทมเพยงกำาแพงลอมรอบพนทรปสเหลยมของเกม และมตวตลก 1 ตววงไปมาในนน
วธในการสรางฉาก (room) นน มขนตอนดงน1) จากเมน บาร เลอก Add -> Add Room จะเกดหนาตางดงรปท
15
18
รปท 15 แสดงหนาตางคณสมบตของฉาก หลงจากททำาการเลอก Add -> Add Room
รปท 15 คอหนาตางคณสมบตของฉาก ซงดานซายมแถบตางๆใหเราสามารถเลอกเพอปรบคณสมบตตางๆได (ในเกม Catch the Clown ทจะสรางน เราะจะใชเพยงแทป objects เทานน) ดานขวาของหนาตาง คอลกษณะของฉากปจจบนน โดยมเสนเปนตารางลากไวเพอชวยใหผใชสามารถวาง object ตางๆลงในฉากไดงายขน
เนองจากรปภาพทน ำามาใชเปน sprite ของเกมน มขนาด 32x32 pixel เราจงควรเปลยนขนาดของเสนตารางของฉากจาก 16 เปน 32 (ตวเลขทชองดานบนของหนาตาง) เมอทำาการเปลยนขนาดแลว พบวา ชองตารางของฉากมลกษณะขยายใหญขนเปนสองเทา
2) วธการในการใส instance ของ object ลงในฉาก ทำาไดโดยเลอกตรงบรเวณร ปภาพด านซาย แล วเล อกช อของ object ก ำาแพง (เชน obj_wall) แลวใชเมาสกดบรเวณรอบๆของฉากปจจบนน เพอสรางเปนกำาแพงลอมรอบบรเวณทงหมดทตองการให object ตวตลกสามารถวงได
เพมเตม
19
วธการใส instance ของ object ตางๆลงในฉากนน - สามารถกดปม Shift พรอมๆกบกดเมาสคาง แลวลากเพอวาง
หลายๆ instance พรอมกน- หากตองการลบ instance บางตวออกจากฉาก ทำาไดโดยกดเมาส
ขวาท instance นนๆ
หลงจากใส object กำาแพงลงในฉากตามตองการแลว กดเลอก object ตวตลก แลววาง instance ของ object ตวตลก ลงกลางฉาก 1 ตว กดเครองหมายถกสเขยวดานซายบนของหนาตาง เพอยนยนการสรางฉาก
เนองจากเราม sprite, มไฟลเสยง, สราง object ในเกม พรอมทงใสเหตการณตางๆ และวธการตอบสนองตอเหตการเหลานน และสรางฉากเสรจแลว ขนตอไป คอ การบนทกเกมทสรางขน และขนตอนการทดสอบการทำางานของเกม
การบนทกเกม และ การทดสอบเกมวธการบนทกเกมนน เหมอนกบวธการบนทกในโปรแกรมอนๆทวไป คอ
ทเมนบาร เลอก File -> Save แลวเลอกตำาแหนงบนเครองทตองการบนทก โดยทไฟลทเซฟได จะมนามสกลเปน .gm6 ไฟลประเภทน จะยงไมสามารถใหผเลน เลนไดโดยตรง แตเปนเพยงไฟลทมไวเพอสามารถใหผสรางเกม สามารถโหลดขนมาเปลยนแปลงคณสมบตตางๆของเกมไดเทานน สวนวธการทจะเปดเกมทสรางขนมาเลนไดนน จะกลาวในภายหลงตอไป
ขนตอมาคอขนตอนการทดสอบเกม ซงเปนขนทสำาคญ วธการทดสอบ สามารถทำาไดโดย ทเมนบาร เลอก Run -> Run normally หากการสรางเกมทผานมาไมมความผดพลาด โปรแกรม จะทำาการโหลดเกมทพงสรางเสรจขนมา ทำาใหเราเหนหนาตางทมฉากทเราสรางขน และมตวตลกวงอยภายใน
ลองทดสอบเกมดวยการใชเมาสซายกดทตวตลก แลวสงเกตการเปลยนแปลงวา เปนไปตามทเราสรางขนหรอไม เชน เราควรจะไดยนเสยงทถกตอง และความเรวของตวตลกทควรจะเพมขน เปนตน หากตองการหยดเกม ใหกดปม Esc หรอกดทเครองหมายกากบาทดานขวาบนสดของหนาตาง
ขนตอมา คอขนตอนการปรบเปลยนเกม หากการทำางานตางๆของเกมททดสอบอยนน ไมเปนไปตามทเราออกแบบไวตอนแรก เราควรทดสอบเกมหลายๆดาน เชน ความเรวเร มตนถกตองหรอไม ความเรวมการเพมขนจรง
20
หรอไม ขนาดของฉากถกหรอไม เสยงเกดขนตรงกบทออกแบบไวหรอไม เปนตน
หากเราพอใจกบเกมทสรางขนแลว เราสามารถบนทกเกมเปนรปแบบไฟลทคนทวไปสามารถเปดไดโดยไมตองผานโปรแกรม Game Maker โดยเลอกทเมนบาร File -> Create executable
ปรบแตงเกมขนสดทายตอนนเกมพวกเรามการท ำางานตางๆสมบรณแลว แตยงสามารถ
ตกแตงเพม ใหดนาเลนขนอกได เชน เพมเสยงเพลงพนหลงของเกม และ เพมพนหลงใหฉากของเกม เปนตน
วธการใสเสยงพนหลงใหเกมนน ท ำาได โดย ใสไฟลเสยงเขามาในโปรแกรมกอน แลวในเหตการณ create ของ object ตวตลก ใหใส sound action เพอใสเสยงพนหลงเขาไป โดยทคณสมบตของไฟลเสยง ใหกดถกทคำาวา Loop เพอใหไฟลเสยงน วงวนเรอยๆ ไมมจดสนสด
ในสวนการใสภาพพนหลงนน ทำาไดโดย ทเมนบารเลอก Add -> Add Background แลวเลอก Load Background เพอเลอกภาพพนหลงทตองการ ตวอยาง ดงรปท 16
รปท 16 แสดงตวอยางหนาตางททำาหนาทโหลดไฟลภาพเพอเปนพนหลงใหฉากของเกม
21
วธการใสพนหลงใหฉาก ทำาไดโดย กดเมาสขวาทชอของฉากทหนาตางทรพยากรของเกม (ดานซายของหนาตางหลก) แลวเลอก properties จากนนเลอกแถบ backgrounds จะไดหนาตางดงรปท 17
รปท 17 แสดงหนาตางของเกมขณะตองการใสพนหลงใหฉาก
22
จากนนทำาตามขนตอนตอไปน1) เอาเคร องหมายถกทค ำาวา Draw background color ออก
เพราะไมเราตองการใหโปรแกรมใสสพนหลงให เนองจากเราจะใสภาพพนหลงลงไปเอง
2) เลอกทปมตรงกลางซายของหนาตาง แลวเลอกไฟลภาพพนหลงทเราพงใสเขามาในโปรแกรม เมอเลอกไฟลตรงนแลว ไฟลดงกลาวจะวางลงบนฉากดานขวาของหนาตางทนท
23