ฉันกำลังพัฒนาเกม cocos2d-x (เวอร์ชัน 3.8) เกมของฉันใช้ฟิสิกส์ของกระแตและมีร่างกายที่นิ่งซึ่งทำงานเหมือนกับผู้ขัดขวาง ตัวขัดจังหวะนี้จะเปิดใช้งานเมื่อมีอีกวัตถุหนึ่งอยู่เหนือมัน ผู้ขัดขวางจะถูกปิดใช้งานเมื่อร่างกายแยกจากกัน
ฉันต้องการ:
- การเคลื่อนไหวร่างกายไม่ชนกับสิ่งกีดขวาง มันต้องข้ามตัวขัดขวางโดยไม่มีการเด้งกลับ
- ฉันต้องการตรวจจับเมื่อร่างกายเคลื่อนไหวแยกผู้ขัดขวาง
แนวทางแรกของฉันคือการใช้วิธี onContactBegin ฉันคืนเท็จเมื่อทั้งสองศพติดต่อกัน วิธีนี้ทำให้ร่างกายข้ามผู้ขัดขวางและไม่เด้งกลับ
ปัญหาคือไม่ได้เรียกเมธอด onContactSeparate เนื่องจากการติดต่อไม่ได้เกิดขึ้น
ถ้าฉันคืนค่าเป็นจริงในวิธี onContactBegin ระบบจะเรียก onContactSeparate และฉันสามารถตรวจพบได้ ปัญหาคือร่างกายไม่ข้ามสิ่งขัดขวางมันเด้ง
[แก้ไข] ข้อมูลเพิ่มเติม
นี่คือสถานการณ์ที่สไปรท์สองตัวถูกแยกออกจากกัน ลูกบอลสามารถเคลื่อนที่ได้และตัวขัดขวางเป็นแบบสถิต บอลอาจอยู่เหนือสิ่งขัดขวาง
นี่คือสถานการณ์ที่สไปรท์สองตัวสัมผัสกันและวัตถุ 1 (ลูกบอล) อยู่เหนือตัวขัดขวาง ฉันต้องการตรวจสอบว่าสไปรต์สองตัวแยกจากกันตรงไหน
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!