สวัสดีค่ะท่านผู้มาเยือน!  ลงชื่อเข้าใข้งาน สมัครสมาชิก

Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Event การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
02-02-2014, 02:56 PM (โพสต์นี้ถูกแก้ไขครั้งสุดท้ายเมื่อ: 02-03-2014 03:09 PM โดย Nazuth.)
โพสต์: #1
การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
การสร้างเมนูโดยใช้อีเวนท์ สามารถนำไปใช้ได้ทั้ง RMXP,RMVX,RMVX ACE

บทความนี้ค่อนข้างยากและต้องใช้ความชำนาญเอ็นจิ้นพอสมควรนะครับตรงไหนงงก็ถามได้จะพย​ายามอธิบายไปทีละขั้นตอน

บทความนี้ไม่อนุญาติให้นำไปเผยแพร่ที่อื่นโดยไม่ได้รับอนุญาต

การทำเมนูโดยใช้อีเวนท์มีคำสั่งหลักๆที่ต้องใช้ให้คล่องอยู่สี่คำสั่งครับ
1.โชว์ภาพ
2.เช็คเงื่อนไข
3.สวิตซ์
4.ตัวแปร

ถามว่าทำไมต้องทำเมนูโดยใช้อีเวนท์เพราะมันง่ายกว่าการเขียนสคริปท์และมีอิสระพอสมคว​รสามารถนำไปประยุกต์ใช้ได้หลายอย่างไ่ม่จำเป็นต้องใช้ทำเป็นเมนูเพียงอย่างเดียว อาจทำเป็นหน้าแสดงภารกิจ หรือแสดงความสัมพันธ์ตัวละครก็ได้ตามแต่ละประยุกต์ใช้

ตัวอย่างการใช้ทำเมนูโดยใช้คำสั่งโชว์ภาพจากโปรเจ็คที่ผมเคยทำทิ้งไว้ ตั้งแต่เริ่มเข้าเกมไปจนถึงคำสั่งที่ใช้ในเกมรวมถึงคำสั่งแต่ละคำสั่งล้วนมีการใช้คำ​สั่งโชว์ภาพเป็นส่วนประกอบทั้งสิ้นครับ






ทีนี้มาดูวิธีทำกันทีละขั้นตอนเลยว่าทำอย่างไร
ตัวอย่างภาพที่ใช้เป็นเมนูให้ทำภาพเมนูกับภาพปุ่มเลืิอกแยกกันไว้แบบนี้
[ภาพ: RTTM5Oi.png] [ภาพ: YwDKSCW.png]
ขออธิบายเฉพาะคำสั่งที่ใช้ในหัวข้อนี้เท่านั้นนะครับบางคำสั่งที่เห็นในภาพเป็นส่วนป​ระกอบของโปรเจ็คที่ทำคาไว้ อีเวนท์นี้สามารถทำในเหตุการณ์ทั่วไปได้เลยเพื่อให้เรียกใช้ได้เรื่อยๆไม่ต้องทำใหม่​โดยให้เลือกเงื่อนไขเป็น parallel แล้วกำหนด สวิตซ์หนึ่งไว้สำหรับเปิดปิดเหตุการณ์

[ภาพ: YhNlV7s.png]

-เพราะไม่จำเป็นต้องใช้เมนูของระบบผมเลยใช้คำสั่งปิดเมนูไปเลย
-คำสั่งสคริปท์ในช่องถัดมาคือการทำให้ตัวฮีโร่ขยับไม่ได้ครับใช้โค้ดนี้เลย
$game_temp.message_window_showing = true หากต้องการให้ฮีโร่ขยับได้ตรงไหนก็ใส่โค้ดไว้อีกที่ตรงนั้น เปลี่ยนจาก true เป็น false
เช่นให้ตอนเปิดเมนูฮีโร่ขยับไม่ได้แล้วตอนปิดเมนูถึงจะขยับได้ก็เอาโค้ดไปใส่ตอนเปิด​เมนูแล้วตอนปิดก็ใช้โค้ดเดิมแต่เปลี่ยน true เป็น false
-ให้ใช้คำสั่งตรวจเช็คเงื่อนไข เมื่อกดปุ่มลง แล้วให้เพิ่มเคสไว้ด้วยสำหรับตรวจเช็คเงื่อนไขอีกอันเป็นปุ่มขึ้นตามภาพ
-ใช้คำสั่งรอเวลาสักหน่อยตามความเหมาะสมเพื่อไม่ให้กดปุ่มรัวจนระบบรวนได้
-อาจใช้คำัสั่งเอฟเฟคเป็นเสียงปุ่มกดตามภาพ
-ให้กำหนดตัวแปรมาตัวหนึ่งให้เป็นหมายเลขคำสั่งที่เลือกกำหนดให้กดลงเป็นการบวกตัวแปร​ไป 1 หน่วย ถ้ากดขึ้นก็ให้ลบ 1 หน่วย (สามารถสลับกันได้)
-ตรวจเช็คคำสั่งที่แทนค่าเป็นตัวแปร อันนี้ใช้สำหรับเวลาที่กดขึ้นลงเกินไปจากคำสั่งที่กำหนดจะย้อนกลับไปเป็นสั่งแรก เช่น มีอยู่5คำสั่งถ้าเรากดลงไปอีกจากคำสั่งที่5จะย้อนไปคำสั่งที่1แทนหรือเรากดขึ้นที่คำ​สั่งที่1จะลงไปอยู่ที่คำสั่งที่5แทน ให้ตั้งตัวแปรไว้น้อยกว่าหรือมากกว่าจำนวนคำสั่ง 1 หน่วย แล้วเมื่อเงื่อนไขตรงตามนั้นก็ไปเซ็ตตัวแปรในเงื่อนไขเป็นเป็นตัวแปรที่ต้องการเช่นจ​ะให้ย้อนไปที่คำสั่งแรกก็เซ็ตตัวแปรเป็น 1 ซะ


[ภาพ: KLV5wMZ.png]

-จากคำสั่งตรวจเช็คเงื่อนไขกดปุ่มขึ้นให้เลือกเพิ่มเคสอีกครั้งหนึ่งแล้วใช้คำสั่งตรว​จเช็คเงื่อนไขอีกครั้งเป็นการกดปุ่ม C ให้เพิ่มเคสไว้ด้วยเดี๋ยวต้องใช้อีก
-ทีนี้เราก็ทำการเช็คเงื่อนไขตัวแปรที่เราแทนค่าเป็นหมายเลขคำสั่ง เช่น ในวีดิโอตัวอย่างผมให้คำสั่ง move เป็นสั่งแรก ถ้าตัวแปรเท่ากับ 1 ก็จะเป็นคำสั่ง move จากนั้นเราก็ทำอีเวนท์ตามคำสั่งที่ใช้
-ที่เห็นคำสั่งโชว์ภาพเป็นภาพตัวเลือกคำสั่งครับเซ็ตไว้ให้เมื่อกดปุ่มCจะทำให้จางและ​เข้มขึ้นเหมือนเดิมตามลำดับเป็นการกระพริบคำสั่งนั้นแหละ
-ขออธิบายแค่คำสั่งที่จำเป็นแล้วกันครับนอกนั้นเป็นคำสั่งส่วนประกอบในโปรเจ็คเก่าผมไ​ม่มีา่วนเกี่ยวข้องกับบทความนี้ ให้เราใช้คำสั่งเปิดสวิตซ์ไปยังเหตุการณ์อื่นที่เราเซ็ตไว้อย่างเช่นผมเซ็ตไว้ให้คำั​สั่งแรกเป็นคำสั่งหมุนรูเล็ตเพื่อเดินก็จำเป็นต้องไปทำอีเวนท์คำสั่งนี้อีกเหตุการณ์​หนึ่ง คำสั่งที่ใช้ในเหตุการณ์นี้เป็นแค่ทางผ่านเท่านั้น
-ตรงนี้อย่าลืมลบภาพที่ใช้เป็นเมนูกับตัวเลือกด้วยเมื่อสับสวิตซ์ลิงค์ไปที่เหตุการณ์​อื่นแล้ว
-เมื่อเปิดสวิตซ์ไปเหตุการณ์อิ่นแล้วก็ปิดสวิตซ์เหตุการณ์นี้ซะเพื่อจบเหตุการณ์
-ให้ทำแบบเดียวกันในทุกๆคำสั่ง

อันนี้ไม่มีรูปภาพเนื่องจากโปรเจ็คผมไม่ได้ใช้ส่วนนี้แต่จะขออธิบายไปทีละขั้นตอนเช่​นกัน
-จากคำสั่งเพิ่มเคสของการตรวจเช็คเงื่อนไขโดยการกดปุ่มC ให้ตรวจเช็คเงื่อนไขอีกรอบโดยเงื่อนไชเป็นการกดปุ่ม B เพื่อเป็นการให้ออกจากหน้าเมนูได้
-ถ้าเราอยากให้คำสั่งมาเริ่มต้นที่คำสั่งแรกก็ให้ควบคุมตัวแปรที่ใช้เป็นหมายเลขคำสั่​งเป็น 1 ซะหรือถ้าอยากให้จดจำไว้ว่าเลือกไว้ที่คำสั่งไหนก็ไม่ต้องทำอะไร
-ทำการใช้คำสั่งลบรูปภาพที่ใช้ทั้งหมด ไม่ว่าจะเป็นหน้าเมนูหรือตัวเลือกคำสั่ง ตรงนี้ยังไม่ถึงขั้นตอนนั้นอาจจะยังงงๆว่าให้ลบอะไรให้ดูต่อไปก่อนครับแล้วย้อนกลับม​าทำก็ได้
-ให้สับสวิตซ์ปิดเหตุการณ์หน้าเมนูซะก็เป็นการออกจากเมนู
-(การเรียกเมนูมีวิธีทำได้สองทางคือให้ทำอีเวนท์อื่นมาเช็คเงื่อนไขว่าถ้ากดปุ่มหนึ่ง​จะเป็นการเปิดเมนูแล้วให้เปิดสวิตซ์เหตุการณ์นี้ขึ้นมาหรือถ้าอยากให้เป็นอีเวนท์เดี​ยวก็ใช้สวิตซ์สองอันในเหตุการณ์แล้วเช็คเงื่อนไขไว้ว่าถ้าสวิตซ์นั้นเปิดก็ให้แสดงเม​นูถ้าสวิตซ์นั้นปิดแล้วทำการกดปุ่มหนึ่งขึ้นมาก็เป็นการเรียกเมนู)

[ภาพ: chRLqOB.png]

-สำหรับการแสดงการโชว์ภาพให้ตรวจเช็คเงื่อนไขแล้วเพิ่มเคสซ้อนกันเรื่อยๆเช็คเงื่อนไข​หมายเลขคำสั่งตามที่ตั้งไว้ เช่น ตามวีดิโอตัวอย่าง move=1 survey=2 item=3 equip=4 data=5 เราก็เช็คเงื่อนไขไปตามที่ตั้งไว้
-คำสั่งโชว์รูปจริงๆใช้แค่ที่ผมกดเลือกไว้ในภาพก็พอเป็นหน้าตอนเลือกคำสั่งแล้วปรับตำ​แหน่งภาพตามคำสั่งของมันเท่านั้นแต่ถ้าอยากให้เวลากดเลือกคำสั่งอื่นไปแล้วสามารถกดอ​อกมาเป็นเมนูนี้ได้ด้วยก็ให้ใช้คำสั่งโชว์ภาพเมนูขึ้นมาใหม่แบบในภาพด้วย(ต้องให้หมา​ยเลขภาพเป็นหมายเลขเดียวกันด้วย) ให้สังเกตจากภาพนะครับว่าตำแหน่งแกนyจะเปลี่ยนไปตามคำสั่งแต่ละอย่าง หลักคือให้ใช้หมายเลขภาพมากกว่าภาพที่เราทำเป็นหน้าเมนู

จากขั้นตอนที่ผ่านมาจะได้แบบนี้แล้วครับ (ดูแค่เมนูทางด้านซ้ายนะ)
[ภาพ: PLSkqjT.gif]

การเซ็ตแต่ละปุ่มว่าจะให้ทำอะไรก็แล้วแต่คนสร้างจะทำเลยครับ อาจจะต้องมีส่วนของการเรียกใช้สคริปท์บ้าง เ่ช่นถ้าอยากให้เรียกเมนูไอเทมขึ้นมาก็ใช้คำสั่งเรียกใช้สคิปท์แล้วใส่โค้ดไป
$scene = Scene_Item.new
ทีนี้ก็เป็นคำสั่งเรียกเมนูไอเทมแล้ว ถ้าจะให้เรียกคำสั่งเซฟก็ใช้คำสั่งเรียกเมนูบันทึกเกมใส่ไป

จะทำยังไงกับคำสั่งแต่ละคำสั่งคราวนี้ขึ้นอยู่กับจินตนาการของผู้สร้างแล้วครับว่าจะ​ทำอย่างไร
อย่างในเกม IB ก็ใช้เมนูรูปภาพแต่ไม่ได้ทำเมนูเป็นตัวเลือกแบบนี้ ใช้แค่คำสั่งเช็คเงื่อนไขมาแสดงภาพเท่านั้นเอง


ป.ล.มีคำถามสามารถถามได้ครับแต่ช่วงนี้ผมอาจไม่มีเวลามาตอบเท่าไหร่เพราะร่วมกิจกรรม​มหาโหดอยู่ Me Gusta
ยังไงฝากคนที่เข้าใจช่วยตอบแทนด้วย

[ภาพ: 76561198134933497.png]
FanPage:
เข้าสู่เว็บไซต์ของสมาชิกผู้นี้ ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ chrome windows xp
[-] The following 15 users Like Nazuth's post:
[IRPG] bassza123 (02-03-2014), Darwhima (02-02-2014), dreamknight (02-03-2014), freemancer (04-29-2014), jojo741963 (02-02-2014), Kuma (02-03-2014), Kuntana (02-02-2014), motley (04-29-2014), NestZ (02-04-2014), Nivas (03-06-2014), pomza2000 (06-01-2014), PorKaDas (02-03-2014), slost (02-03-2014), tiwlymaster (02-02-2014), นิราจ (05-04-2014)
02-02-2014, 08:04 PM
โพสต์: #2
RE: การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
ขอบคุณสำหรับความรู้ดีๆค่ะ

[ภาพ: 150530082811.jpg]
เข้าสู่เว็บไซต์ของสมาชิกผู้นี้ ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ chrome windows 7
02-02-2014, 08:38 PM (โพสต์นี้ถูกแก้ไขครั้งสุดท้ายเมื่อ: 02-02-2014 08:46 PM โดย hengmana.)
โพสต์: #3
RE: การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
รู้สึกจะอธิบายข้ามขั้นตอนตรง
อ้างอิงข้อความ:เรียกใช้สคริปต์ $game_temp.message_window_showing = true
ใครยังไม่รู้คืออะไร ให้ดูกระทู้นี้ (ของ RMXP )
http://irpg.in.th/thread-275.html

ว่าแต่ดูๆ แล้วไม่เห็นเรียกสั่งปิดตรงตรงไหนเลย ; -;?? หรือว่าไม่ต้องปิดก็ได้

ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ chrome windows xp
02-03-2014, 01:13 AM
โพสต์: #4
RE: การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
(02-02-2014 08:38 PM)hengmana เขียนเมื่อ:  รู้สึกจะอธิบายข้ามขั้นตอนตรง
อ้างอิงข้อความ:เรียกใช้สคริปต์ $game_temp.message_window_showing = true
ใครยังไม่รู้คืออะไร ให้ดูกระทู้นี้ (ของ RMXP )
http://irpg.in.th/thread-275.html

ว่าแต่ดูๆ แล้วไม่เห็นเรียกสั่งปิดตรงตรงไหนเลย ; -;?? หรือว่าไม่ต้องปิดก็ได้

ผมเอาไปใส่ไว้ในอีเวนท์อื่นที่ลิงค์กันอยู่นะครับเลยไม่ได้ใส่ในอีเวนท์นี้

[ภาพ: 76561198134933497.png]
FanPage:
เข้าสู่เว็บไซต์ของสมาชิกผู้นี้ ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ chrome windows xp
02-03-2014, 02:53 AM
โพสต์: #5
RE: การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
สายอีเวนท์เหมือนกันเลย อิอิอิ

ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ chrome windows 7
02-03-2014, 08:48 AM
โพสต์: #6
RE: การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
;3

สุดยอดเลยขอรับ ท่านนัทสึกิ

เอาไปใช้ประยุกต์ได้หลายอย่างเลย ขอบคุณฮับ

May the flames guide your way. Every ending will make you stronger.

[ภาพ: v1.png]
ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ chrome windows 8
02-03-2014, 03:04 PM
โพสต์: #7
RE: การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
Master Eventer Nutsukikung แมวน้ำเต้น

เอาไปประยุกต์กับ Ace ท่าจะแจ่ม

ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ chrome windows 7
04-29-2014, 09:54 PM
โพสต์: #8
RE: การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
เป็นประโยชน์อย่างมากเลยครับ ขอบคุณครับ Confident
ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ firefox windows 7
06-01-2014, 03:47 PM
โพสต์: #9
RE: การสร้างหน้าเมนูโดยใช้อีเวนท์โชว์ภาพ
ถ้ามี Demo ให้จะดีมากๆเลยครับ
เพราะว่าผมลองทำแล้วมันทำไม่ได้Oh God Why

มือใหม่หัดสร้างเกม มือใหม่หัดดอท มือใหม่หัดดองเกม
มือใหม่หัดทำระบบเดินยิง มือใหม่หัดขี้เกียจดอท
มือใหม่หัดขี้เกียจทำระบบเดินยิง มือใหม่หัดถาม
มือใหม่หัดขี้เกียจถาม(What??)
ค้นหาโพสต์ทั้งหมดของสมาชิกผู้นี้
Like Post อ้างอิงข้อความนี้ตอนตอบกระทู้ chrome windows xp
[-] The following 1 user Likes Diamond's post:
zychrominny (07-12-2015)
Post Reply 


ข้ามไปบอร์ด:


User(s) browsing this thread: 1 Guest(s)

Download Opera - A faster and more secure Web browser.