วันพฤหัสบดีที่ 10 มีนาคม พ.ศ. 2559

Construct 2 : Instance Variables


Instance Variables หรือจะเรียกง่าย ๆ ว่าตัวแปรเฉพาะ ซึ่งตัวแปรดังกล่าวนี้ จะกำหนดให้เฉพาะวัตถุแต่ละตัว ชนิดข้อมูลที่สามารถกำหนดได้ จะเป็นตัวเลข ข้อความ และตรรกะ ค่าตัวแปรที่กำหนดนี้ จะมีความเฉพาะของวัตถุแต่ละตัว  เช่น ค่าพลังชีวิต (health) ค่าสถานะ (state) เป็นต้น การกำหนดค่า instance variables จะสามารถกำหนดได้จากแถบ Properties โดยจะมีกล่องโต้ตอบสำหรับเพิ่มหรือลบค่าตัวแปรเฉพาะ
 





Instance Variables  จะช่วยในการควบคุมวัตถุแบบอิสระ เช่น การกำหนดตัวแปร ชนิดตรรกะ เพื่อให้บอกสถานะของศัตรูว่าจะวิ่งเข้าทำร้ายตัวเอก (Hero)  ซึ่งกำหนดค่าเป็นจริง หรือวิ่งหนีจากตัวเอกของเกม โดยกำหนดค่าเป็นเท็จ  กลุ่มวัตถุชนิดเดียวกัน แต่ถูกกำหนดค่า instance variables  ที่แตกต่างกัน ส่งผลให้ตัวสถานะของศัตรูถูกแบ่งแยกออกไป บางตัวจะวิ่งเข้ามาทำร้ายตัวเอก แต่บางตัวจะวิ่งหนีไป วัตถุถึงแม้จะเป็นชนิดเดียวกัน แต่ก็จะมีพฤติกรรมที่แตกต่างกันไปอย่างอิสระ ด้วยการกำหนดค่า instance variables ที่แตกต่างกัน



Instance Variables dialog
การกำหนดค่า instance variables จะสามารถกำหนดได้จากแถบ Properties โดยคลิกที่คำสั่ง Add/Edit Instance Variables จะปรากฏกล่องโต้ตอบสำหรับเพิ่มหรือลบค่า Instance Variables
 




Name จะใช้กำหนดชื่อเฉพาะของตัวแปร ชื่อที่กำหนดขึ้นมาจะเป็นส่วนขยายของชื่อวัตถุ เช่น Sprite.MyVariable ซึ่งจะใช้อ้างถึงค่า instance variable ที่กำหนดขึ้นในวัตถุแต่ละตัว แต่ชื่อที่กำหนดขึ้นนี้ต้องไม่ซ้ำกับชื่อวัตถุ หรือคำสงวนที่สำคัญต่าง ๆ ของโปรแกรม Construct 2


Type เป็นการกำหนดชนิดของตัวแปร สามารถกำหนดได้ 3 ชนิด คือ ตัวเลข (Number)  ข้อความ (Text) และ ตรรกะ (Boolean)

Initial value คือ ค่าเริ่มต้นของตัวแปร โดยจะกำหนดตามชนิดของตัวแปรนั้น เช่น ตัวเลข ข้อความ ข้อความที่กำหนดเป็นค่าเริ่มต้น จะไม่สามารถเป็นค่าว่างได้ และข้อความจะต้องอยู่ภายใต้เครื่องหมาย "" และค่าข้อมูลแบบตรรกะ จะกำหนดได้สองค่า คือ true และ false เท่านั้น

Description คือ คำอธิบายเพิ่มเติม เพื่ออธิบายการใช้งานตัวแปร หรือวัตถุประสงค์ของการสร้างตัวแปร ซึ่งจะกำหนดหรือไม่ก็ได้

การใช้งาน instance variables เป็นประโยชน์อย่างมากในการสร้างเกม ขอให้ฝึกฝนและใช้งานกันบ่อย ๆ ขอให้สร้างเกมอย่างมีความสุขนะครับ


ไม่มีความคิดเห็น:

แสดงความคิดเห็น