ขณะนี้ฉันกำลังสร้างเกมป้องกันหอคอย 2d ที่มีช่องทางเคลื่อนที่ที่กำหนดไว้ล่วงหน้าซึ่งศัตรูติดตาม (เช่นหอคอยไม่สามารถบล็อกเส้นทางและการค้นหาเส้นทางไม่ใช่ปัญหาที่ฉันพยายามแก้ไข)
ฉันพยายามคิดว่าจะให้หน่วยตามช่องทางนี้อย่างราบรื่นได้อย่างไร ฉันมีแนวคิดคร่าวๆสองข้อเกี่ยวกับวิธีการทำเช่นนี้ แต่ฉันชอบที่จะป้อนข้อมูลบางอย่างซึ่งน่าจะง่ายต่อการใช้ / เทคนิคมาตรฐานมากขึ้น หรือแน่นอนถ้าฉันมีวิธีที่แตกต่างกันโดยสิ้นเชิงซึ่งฉันไม่คิดว่าฉันจะรักที่จะเรียนรู้เกี่ยวกับสิ่งนั้นเช่นกัน
จุดอ้างอิง: ความคิดแรกของฉันคือการกำหนดเส้นทางเป็นชุดของจุดอ้างอิงแบบตายตัว หน่วยจะใช้อัลกอริทึมการหมุนแบบ "ค้นหา" ขั้นพื้นฐาน (เช่นอันนี้ ) เพื่อย้ายไปยังแต่ละจุดตามเส้นทางในเส้นทางที่ต่อเนื่องกัน อย่างไรก็ตามฉันสงสัยว่ามันอาจเป็นการยากที่จะป้องกันไม่ให้หน่วยเบี่ยงเบนไปจากเลนที่ฉันต้องการให้พวกเขาติดตาม ฉันสงสัยว่าการไม่สามารถเลี้ยวอย่างรุนแรงพออาจทำให้พวกเขา "เหิน" ออกจากเลนที่ต้องการหรือไม่ ฉันคิดว่าฉันอาจสามารถป้องกันได้โดยอนุญาตให้ใช้กำลังบังคับที่ค่อนข้างแรง
Bezier Curves: วิธีที่สองที่ฉันพิจารณาคือกำหนดเส้นทางด้วยเส้นโค้ง bezier และในแต่ละขั้นตอนจะคำนวณจุดตามเส้นโค้งด้วย (dt * speed) ห่างจากตำแหน่งปัจจุบันของหน่วย ฉันสงสัยว่าเทคนิคนี้จะทำให้การกำหนดเส้นทางที่หน่วยจะปฏิบัติได้ง่ายขึ้น แต่ฉันไม่รู้ว่าจะดำเนินการอย่างไร ข้อเสนอแนะใด ๆ
นอกจากนี้ฉันไม่ต้องการเปลี่ยนคำตอบของทุกคน แต่หน่วยต่างๆจะต้องสามารถเดินทางด้วยความเร็วคงที่ตลอดเส้นทาง นอกจากนี้ฉันกำลังเขียนโปรแกรมเกมนี้ในไพ ธ อนโดยใช้ pyglet framework
หากมีคำถามเกี่ยวกับคำถามที่ไม่ชัดเจนโปรดแจ้งให้เราทราบ
แก้ไข: นอกจากนี้สำหรับสิ่งที่คุ้มค่าผมเรียงลำดับของการพยายามที่จะทำซ้ำพฤติกรรมการเคลื่อนไหวของศัตรูในราชอาณาจักร Rush