แสดงบทความที่มีป้ายกำกับ Create object แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Create object แสดงบทความทั้งหมด

วันอาทิตย์ที่ 25 ตุลาคม พ.ศ. 2558

Construct 2 : พลังชีวิต Health

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

ขั้นแรกสร้างแถบพลังชีวิตขึ้นมาก่อน health bar ในตัวอย่างผมสร้างขึ้นมา 2 แถบ เป็นแบบ sprite คือแถบของพลังชีวิตสูงสุด ให้เป็นแถบสีแดง กำหนดชื่อ barMaxHP กับแถบพลังชีวิตที่เหลือ ให้เป็นแถบสีเขียว กำหนดชื่อ barHP ที่สำคัญกำหนดค่า origin point ของแกน x เป็น 0 ด้วย



จะได้แถบพลังชีวิต 2แถบ กำหนดขนาดเป็น 200 x 20 ดังนี้


ย้ายแถบสีเขียวไปทับแถบสีแดง จนมองเห็นเป็นแถบเดียวกัน



สร้างตัวแปรขึ้นมาเพื่อเก็บค่าพลังชีวิต



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



กำหนดเหตุการณ์เมื่อเด็กน้อยเดินไปชนผี ให้ลดค่าพลังชีวิตลง เลือก Add event แล้วเลือก Sprite ของตัวละคร


เลือกเหตุการณ์ On collision with another object


จะได้หน้าต่าง สำหรับเลือกวัตถุที่จะชน


เลือกวัตถุตัวผีน้อย



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


เลือก Subtract from


เลือกตัวแปรที่จะลบค่า คือ health1  กำหนดให้ลดลงทีละ 15


จะได้คำสั่ง ดังนี้



การกำหนดความยาวของแถบชีวิต
เมื่อพลังชีวิตลดลง แถบของพลังชีวิตก็จะลดลงด้วย ในการลดความยาวของแถบ จะต้องคำนวณร้อยละของพลังชีวิตที่เหลืออยู่
  ร้อยละของพลังชีวิตที่เหลืออยู่ = (พลังชีวิตที่เหลือ / พลังชีวิตสูงสุด) x 100

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

คำสั่งในการคำนวณตามสูตร คือ
barHP.Width = (HP / maxHP) * barMaxHP.Width

คลิกที่ Add action แล้วเลือก barHP



เลือกคำสั่ง Set width



กำหนดค่าความกว้าง (health1/100)*barMaxHP.Width



คำสั่งที่ได้เป็นดังนี้


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



กำหนดให้ตัวละครของเราหายไป เมื่อพลังชีวิตลดลงต่ำกว่า 0


แล้วเพิ่มการกระทำให้ตัวละครหายไป


คำสั่งทั้งหมดเป็นดังนี้





วันศุกร์ที่ 4 กันยายน พ.ศ. 2558

Construct 2 : เกมจับคู่ภาพกับคำ ตอนที่ 7

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


สร้างวัตถุขึ้นมาเป็นแบบ Text  ตั้งชื่อว่า word_txt



วางในตำแหน่งที่เหมาะสม ปรับขนาดตามต้องการ  เมื่อได้ตำแหน่งที่เหมาะสมกับการแสดงข้อความแล้ว ให้จดค่า position และค่า Size ของ word_txt ไว้



สร้างตัวแปรแบบ Global ขึ้นมา 3 ตัว คือ wd_x เก็บตำแหน่ง position X , wd_y เก็บตำแหน่ง position Y และ wd_h เก็บค่าความสูงของ word_txt  กำหนดค่าเริ่มต้นตามตำแหน่งที่ได้จดเอาไว้



ย้ายวัตถุ word_txt ไปไว้นอกพื้นที่ของเกม


กำหนดเหตุการณ์แบบ  System  และเลือก Every tick


เพิ่ม action คือการทำลาย word_txt ทั้งหมด โดยเลือก word_txt


แล้วเลือกคำสั่ง Destroy




เพิ่ม sub event ขึ้นมาภายใต้ every tick  แล้วเลือก Temp_arr


แล้วเลือก Is empty


แล้วเปลี่ยนเป็นเหตุการณ์แบบ invert คือทำงานเมื่อ Temp_arr ไม่เป็นค่าว่าง


เพิ่ม sub event ขึ้นมาภายใต้ Temp_arr แบบ System เป็น Loops Repeat


กำหนดจำนวนรอบในการวนซ้ำ เท่ากับขนาดของ Temp_arr.Width



เพิ่ม action แบบ System เป็น Create object


เลือก Object to create เป็น word_txt แสดงที่ Layer 2
ตำแหน่ง X = wd_x  และตำแหน่ง Y = (loopindex*wd_h) + wd_y


เพิ่ม action เพื่อเพิ่มข้อความให้กับ word_txt ที่สร้างขึ้นมาใหม่ โดยเลือก word_txt


เลือกคำสั่ง Set text


กำหนดข้อความตามค่าที่อยู่ในรายการคำ Temp_arr ในตำแหน่งที่วนรอบ  คือ Temp_arr.At(loopindex)


ทดสอบการทำงานของโปรแกรม จะได้รายการของคำแสดงที่ด้านข้างของเกม