วันอาทิตย์ที่ 13 มีนาคม พ.ศ. 2559

construct 2 : Sprite เดินเอง ตอน 2

บทความนี้ เป็นตอนที่ 2 แล้วนะครับ สำหรับการสร้าง sprite ที่สามารถเคลื่อนที่ไป-มา ได้โดยอัตโนมัติ ในบทความที่ผ่านมา ผมนำเสนอการเคลื่อนที่แบบง่าย ๆ  คือ เดินไปชนผนังแล้วก็เปลี่ยนทิศทาง กลับไป-กลับมา
แต่ในบทความนี้ เราจะเอาผนังออกไป ให้ sprite ของเราฉลาดขึ้นมา คือเดินไปสุดทาง แล้วเดินกลับ

ขั้นแรกต้องสร้างทางเดินของตัว sprite โดยกำหนดพฤติกรรมเป็นแบบ solid ดังนี้



สร้าง sprite ขึ้นมา เพื่อเป็นตัวละครของเกม กำหนดพฤติกรรมเป็นแบบ platform



เพิ่ม instance variable จากแถบ Properties ของตัวละคร ชื่อ moveRight เป็นชนิด Boolean มีค่าเริ่มต้นเป็น true



การตรวจสอบการเดินของ sprite จะตรวจสอบจาก offset ของพื้น โดยปกติ ถ้าไม่ได้กำหนดเป็นอย่างอื่น ถ้าเคลื่อนที่ไปทางด้านขวา ค่าในแกน x จะเป็นลบ แต่เมื่อเคลื่อนที่ไปทางซ้าย ระยะแกน x จะเป็นบวก




การคำนวณ ระยะที่ต้องหมุนกลับ เมื่อเดินไปทางด้านขวา ค่า offset แกน x จะคำนวณดังนี้
- (ความกว้างของพื้น)  เช่น  -(wall.Width)

การคำนวณ ระยะที่ต้องหมุนกลับ เมื่อเดินไปทางด้านซ้าย ค่า offset แกน x จะคำนวณดังนี้
ความกว้างของพื้น เช่น  wall.Width


เพิ่มคำสั่งใน event sheet ดังนี้




เมื่อทดสอบการทำงานของเกม ตัวละครของเราจะเดินไปจนสุดทางเดินก็จะเดินย้อนกลับอีกทางหนึ่ง



ขอให้สนุกกับการสร้างเกมนะครับ

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

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