1 ก.ย. 2559

[แบบฝึกสอน]บทที่ 8 - Loop and Label

   สวัสดีเพื่อนๆนะครับ ในบทนี้เราจะมาพูดถึงเรื่องของ Loop และ Label กัน
ซึ่งเจ้าสองตัวนี้มีโอกาสให้ใช้ได้บ่อยมากน้อยแค่ไหนนั้น ก็ขึ้นอยู่กับรูปแบบเกมที่เพื่อนๆคิดไว้นะครับ
งั้นเรามาเริ่มกันเลยดีกว่าครับ

   Loop เจ้าตัวนี้มีหน้าที่ในการวนคำสั่งเหตุการณ์ไปเรื่อยๆจนกว่าจะมีการสั่งหยุดการทำงานของ Loop
มักใช้ได้ในหลายๆกรณีครับ แล้วแต่เพื่อนๆจะออกแบบ แต่ผมจะยกตัวอย่างได้แบบนี้ครับ

ใช้คำสั่ง Break Loop เพื่อหยุดการวนคำสั่ง

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

   เราสามารถกำหนดจำนวนครั้ง ที่ต้องการให้วนซ้ำของ Loop ได้โดยการใช้งานร่วมกันกับตัวแปรและการเช็คเงื่อนไข เช่น เราต้องการให้เล่นเสียงประกอบ จำนวน 20 ครั้ง เป็นต้น ซึ่งสามารถทำได้ตามนี้


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

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


   โดยเมื่อคำสั่งทำงานมาถึงตรง Jump to Label การทำงานของคำสั่งก็จะถูกย้ายไปยังชื่อ Label ที่กำหนดไว้ และเริ่มทำงานตามคำสั่งไล่ลงมาจากชื่อ Label นั้น
   อย่างในตัวอย่าง เมื่อถึง Jump to Label: Blessing คำสั่งก็จะย้อนกลับไปทำงานตรงที่มี Label Blessing ครับ

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

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

   ก็จบไปแล้วนะครับกับบทนี้ ซึ่งทั้งหมดก็เป็นเหมือนอย่างที่ผมเคยบอกไว้ว่า ให้ฝึกใช้บ่อยๆ
ซึ่งมันจะทำให้เราชำนาญมากขึ้น ส่งผลให้เกมของเรามีมิติและน่าสนใจมากขึ้นครับ
แต่ว่าตอนนี้ผมยังนึกไม่ออกเลยครับ ว่าบทต่อไปจะสอนเรื่องอะไรดี ยังไงก็ออกความเห็นกันมาได้นะครับ

ขอบคุณที่ติดตามครับ

5 ความคิดเห็น:

  1. ไม่ระบุชื่อ17 กันยายน 2559 เวลา 15:11

    ยากเหมือนกันนะครับ

    ตอบลบ
    คำตอบ
    1. ถ้าสงสัยอะไรก็ถามได้นะครับ

      ลบ
  2. งงง่าาา T^T พอจะมีแบบคุยกันส่วนตัวไหมอ่าครับ จะได้ถามแบบเต็มๆไปเบย

    ตอบลบ
    คำตอบ
    1. งั้น inbox มาในเฟสเลยครับ

      https://web.facebook.com/suphaiwat.satsuk

      ลบ
  3. ทำGใน"บทที่6เหตุการณ์"โดนละเอียดได้ไหมครับ
    พวกคำสั่งนี้ทำไรได้บ้างหรือคำสั่งที่ชื่อคล้ายกันต่างกันอย่างไรถ้าเป็นคำสั่งที่ยกตัวอย่างแล้ว ก็ไม่ต้องก็ได้ครับ
    ขอบคุณครับ

    ตอบลบ