ฉันกำลังสร้างเกม 2D ขณะนี้มีเฮลิคอปเตอร์ที่บินอยู่รอบ ๆ ซึ่งควบคุมโดยผู้เล่น มันถูกควบคุมโดยใช้ปุ่มลูกศร: ขึ้นซ้ายและขวา
มันความเร็วตามแกน Y คือdy
และความเร็วพร้อมแกน x dx
คือ
ฟิสิกส์เป็นดังนี้:
เมื่อใดก็ตามที่ขึ้นไม่ได้กด , dy
เร่งในการเร่งความเร็วอย่างต่อเนื่องไปเรื่อย ๆต่อลง (แรงโน้มถ่วง) dx
ยังคงอยู่ในค่าปัจจุบัน
เมื่อUP กด , dy
เร่งในการเร่งความเร็วคงที่จากสิ่งที่มันเป็นอยู่ในปัจจุบัน, ถึง 4 (ขึ้นจนกว่าจะถึงความเร็ว 4) dx
ยังคงอยู่ในค่าปัจจุบัน
เมื่อซ้ายกด , dx
เร่งในการเร่งความเร็วคงที่จากสิ่งที่มันเป็นอยู่ในปัจจุบัน, ถึง -4
เมื่อขวากด , DX เร่งในการเร่งความเร็วคงที่จากสิ่งที่มันเป็นอยู่ในปัจจุบัน, ถึง 4
(เมื่อกดซ้ายหรือขวาและไม่กดขึ้นพร้อมกันดังที่ฉันพูด: dy
ยิ่งเล็กลงเรื่อย ๆ เพราะแรงโน้มถ่วงส่งผลต่อเฮลิคอปเตอร์)
ทั้งหมดนี้ทำให้เฮลิคอปเตอร์มักตามโค้งในอากาศมากกว่าเป็นเส้นตรง
นี่สร้างฟิสิกส์ที่ดูเหมือนจริงมาก
คำถามของฉันคือ:
เฮลิคอปเตอร์ฝ่ายตรงข้าม, AI ควรย้ายโดยใช้ระบบฟิสิกส์เดียวกัน
ให้บอกว่า AI ต้องการได้รับจากจุดที่เป็นอยู่ในปัจจุบันไปยังจุด B
หากไม่มีแรงโน้มถ่วงและไม่มีการเร่งความเร็วในเกมมันจะง่าย ฉันแค่วาดเวกเตอร์จากตำแหน่งของ AI ถึงจุด B และทำให้ AI ติดตามมัน
แต่เนื่องจากมีแรงโน้มถ่วงและความเร่งแบบค่อยเป็นค่อยไปAI จึงไม่สามารถเคลื่อนที่เป็นเส้นตรงได้ (เกือบ) อะไรจะเป็นวิธีที่ดีที่สุดในการทำให้ AI ไปที่จุด B เวลาได้อย่างมีประสิทธิภาพมากที่สุด
ฉันจะนำแรงโน้มถ่วงมาพิจารณาเมื่อย้าย AI ไปยังปลายทางที่ต้องการได้อย่างไร
(หากอธิบายได้ง่ายขึ้นโปรดพิจารณาจุด B ให้อยู่ในระดับเดียวกับแกน y กับ AI และไม่ใช่แนวทแยงมุม)
ขอบคุณ