irpg Community

Full Version: อยากรู้คำสั่งเขียนโค้ดต่างๆของเกมเมกเกอร์ครับ
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
คิดว่าตั้งกระทู้ถามบ่อยคงไม่ดีนักเลย ก็เลยจะให้ผู้รู้ทุกท่านบอกวิธีเขียนโค้ดมาเลยดีกว่า ผมจะได้ลองไปประยุกต์ใช้เอง

ก็อยากรู้พวกคำสั่งอะไรพวกนี้ว่าใช้ยังไงบ้าง
ผมใช้ if else เป็นอยู่ แต่พวกคำสั่งไม่เป็นเลย

ช่วยแนะนำโค้ดคำสั่งสำคัญๆ อย่างสุ่มค่า หรือเปลี่ยนสไปร์ทด้วยน่ะครับ

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


[Image: 0newcanvas.png]
การสุ่มค่า
http://irpg.in.th/thread-1475.html

if else
http://irpg.in.th/thread-1499.html

การเปลี่ยน และใช้งาน sprite
http://www.youtube.com/watch?v=ATM8HNZ5UCc

การเรียกออบเจ็ค
http://irpg.in.th/thread-817.html

หน่วงเวลา loop
http://irpg.in.th/thread-717.html

check press botton ตรวจเช็กเงื่อนไขการกด ปุ่ม
http://irpg.in.th/thread-714.html

สิ่งกีดขวาง
http://irpg.in.th/thread-1384.html
http://irpg.in.th/thread-1387.html

เซฟเกมโหลดเกม
http://irpg.in.th/thread-1533.html

กล้องตามตัวผู้เล่น
http://irpg.in.th/thread-1405.html

ยิงพลัง
http://irpg.in.th/thread-1394.html


อันนี้ คร่าวๆ ซึ่งถ้าจะเอาจริงๆ มีมากกว่านี้ 10เท่า แต่ ต้องค่อยๆดูว่า เราต้องการทำอะไรมากกว่าครับกับตัวเกมของเรา
เพราะGML เป็นภาษา ที่ ดิ้นได้เยอะ เป็นภาษาเขียนเกม ที่ไกล้เคียงกับภาษาC
ทำให้ ความ หลากหลายในการใช้งานเยอะ ตามไปด้วย ซึ่งแม้แต่ คนที่ทำมานาน อย่างท่านเอ้ ท่านอาร์ค ก็ไช่ว่าจะรู้ทุกอย่างครับ
ผมแนะนำให้ ร่าง ความต้องการของตัวเกมขึ้นมาก่อน และวค่อยศึกษาว่า ในเกมของท่าน จำเป็นต้องใช้อะไรบ้าง แล้วเรียนตามแนวที่ต้องการ
มากกว่าการหว่านเห โค้ดจากคนอื่นและจะได้โค้ดคำสั่งมั่วๆมากกว่าครับ
เพราะ แค่การเดินอย่างเดียวกัน ผม ท่านอาร์ค ท่านเอ้ ท่านทิว ท่านนิราจ เขียนไม่เหมือนกันซักคน
มันเลยทำให้ ถ้าต้องเอาส่วนโน้นส่วนนี้ จากหลายๆคนมารวมๆๆกันเเล้ว กลายเป็นอะไรที่ใช้งานไม่ได้ เนื่องด้วย เพราะคำสั่งหลายๆอย่างของมันไม่ตายตัวนั่นเองครับ
ไม่ต้องเข้าไปถึงระดับลึกๆ เช่นการใช้ฟั่งชั่นเช็ค การสร้างเอไอหรอกครับ แค่การเรียก sprite ถ้าท่านถาม ผม ท่านจะได้แบบนึง ถ้าถามท่านอาร์ค ท่านจะได้อีกแบบ
แล้วถ้ามีการ เอามารวมกัน โอกาศเกิดเป็นBug และ error จะมีสูงมาก เนื่องจากการทำงานที่ทับซ้อนกันบางอย่าง

เคยมีกรณีแบบนี้มาแล้ว ที่ เอาโค้ดจากตรงโน้นมา ผสมกับ วิธีแดรกดรอป แล้ว เอาโค้ดจากผมไป ผลสุดท้าย error แต่ไม่รู้ว่ามาจากตรงไหน ทำหน้าเหยาหมิง


เพราะฉะนั้น อย่างที่แนะนำไปล่ะครับ ลองร่างแผน คร่าวๆ ว่า ตัวเกมท่าน ต้องการอะไรบ้าง และศึกษาเรื่องนั้นๆ เพื่อสร้างเพลตฟอร์มของท่านโชกุนขึ้นมาเอง
แล้วเมื่อท่านทำได้ เกมอะไร ท่านก็จะทำได้หมดแล้วครับทีนี้


ปล.มีตัวอย่างการเปลี่ยนสไปรท์ โดยการใช้ drag&Drop อยู่ในโปรแกรมทุกอันน่ะครับ แนะนำลองแงะโค้ดตัวนั้นดูว่า มันทำงานอย่างไร
ภายในโปรแกรม ถ้าจำไม่ผิด จะมีตัวอน่างเกมให้ 2 เกม ซึ่ง 2 เกมนั้น สามารถ ใช้เป็นแม่แบบเพื่อต่อยอดเกมได้อีกหลายแนวครับ ลองศึกษาดูให้ดี
ขอบคุณมากครับ
อีกนิดนึงคับท่านโชกุน ท่านใช้ Gm เวอชั่นไหนครับ เพราะเวอชั่น 8?1ที่ผมแคปรูปตัวอย่างมาให้ดู กับGm studio มีบางคำสั่งที่ใช้ไม่เหมือนกันนะคับ
(10-06-2014, 09:32 AM)jnkillerqueen Wrote: [ -> ]อีกนิดนึงคับท่านโชกุน ท่านใช้ Gm เวอชั่นไหนครับ เพราะเวอชั่น 8?1ที่ผมแคปรูปตัวอย่างมาให้ดู กับGm studio มีบางคำสั่งที่ใช้ไม่เหมือนกันนะคับ

8.1 ที่โรงเรียน 8.0 ที่บ้านครับ
ออ้ ขอถามอีกนิดหน่อยครับว่า
ถ้าผมกำหนดให้ คลิกแล้วเปลี่ยนออบเจ็คส์ จากนั้นเช็คว่าถ้าออบเจ็คส์มีสองตัวแล้วจะถูกทำลายหายไป
ซึ่งผมทำส่วนนี้ได้แล้ว แต่มีปัญหาคือ ถ้ามันไมม่ใช่แล้วพลิกกลับมาเหมือนเดิมจะทำยังไงดี (ทำเกมส์จับคู่ไพ่)
เดี้ยวตอนเย็นมาอธิบายวิธีการกับหลักการณให้คับ
สามารถ สร้างโดย ใช้เงื่อนไข If ครับ โดย เซ็ตให้ เมื่อเปิดไพ่ แล้วเหมือนกัน เช่น
if (เปิดไพ่ ออกมาเหมือนกัน) obj_ไพ่ที่เหมือนกัน (ทำลายทั้งคู่ )
else sprite index(เปลี่ยนรูปไพ่กลับไปเป็นเหมือนเดิม )
1. ถ้าเงื่อนไขเป็นจริง จะทำให้เกิดเหตุการ์ที่กำหนด คือ ทำลายไพ่ทิ้งทั้งคู่
2. แต่ถ้าไม่เป็นจริงจะทำให้เกิด อีกเหตุการณ์ที่กำหนดก็คือเปลี่ยนหน้าไพ่กลับไปคว่ำเหมือนเดิม

รูปแบบของคำสั่ง ก็ประมาณนี้ครับ
if (เงื่อนไข)
คำสั่งที่ 1;
else
คำสั่งที่ 2;
(10-06-2014, 06:44 PM)jnkillerqueen Wrote: [ -> ]สามารถ สร้างโดย ใช้เงื่อนไข If ครับ โดย เซ็ตให้ เมื่อเปิดไพ่ แล้วเหมือนกัน เช่น
if (เปิดไพ่ ออกมาเหมือนกัน) obj_ไพ่ที่เหมือนกัน (ทำลายทั้งคู่ )
else sprite index(เปลี่ยนรูปไพ่กลับไปเป็นเหมือนเดิม )
1. ถ้าเงื่อนไขเป็นจริง จะทำให้เกิดเหตุการ์ที่กำหนด คือ ทำลายไพ่ทิ้งทั้งคู่
2. แต่ถ้าไม่เป็นจริงจะทำให้เกิด อีกเหตุการณ์ที่กำหนดก็คือเปลี่ยนหน้าไพ่กลับไปคว่ำเหมือนเดิม

รูปแบบของคำสั่ง ก็ประมาณนี้ครับ
if (เงื่อนไข)
คำสั่งที่ 1;
else
คำสั่งที่ 2;

เอ่อ ผมสงสัยมานานแล้วว่า spite index ใช้ทำอะไรครับ
Pages: 1 2