Tôi hiện đang thực hiện một trò chơi phòng thủ tháp 2d với làn đường tĩnh, được xác định trước mà kẻ thù theo dõi (tức là tháp không thể chặn đường và việc tìm đường không phải là vấn đề tôi đang cố gắng giải quyết).
Tôi đang cố gắng tìm cách chính xác để làm cho các đơn vị đi theo làn đường này một cách trơn tru . Tôi có hai ý tưởng sơ bộ về cách thực hiện việc này, nhưng tôi sẽ thích một số đầu vào có khả năng dễ thực hiện hơn / kỹ thuật chuẩn hơn. Hoặc tất nhiên nếu tôi có một số cách hoàn toàn khác mà tôi chưa từng nghĩ tôi cũng muốn tìm hiểu về điều đó.
Điểm tham chiếu: Ý tưởng đầu tiên của tôi là xác định đường dẫn là một loạt các điểm tham chiếu được mã hóa cứng. Các đơn vị sau đó sẽ sử dụng thuật toán lái "tìm kiếm" cơ bản (chẳng hạn như thuật toán này ) để di chuyển đến từng điểm trên đường đi liên tiếp. Tuy nhiên, tôi đã tự hỏi liệu có thể khó để giữ cho các đơn vị không đi chệch khỏi làn đường mà tôi muốn họ đi theo. Tôi tự hỏi nếu không thể quay đủ mạnh có thể khiến họ loại "lướt" ra khỏi làn đường mong muốn. Tôi cho rằng tôi có thể ngăn chặn điều đó mặc dù bằng cách cho phép một lực lái tương đối mạnh được áp dụng?
Đường cong Bezier: Giải pháp thứ hai tôi đã xem xét là xác định đường dẫn có đường cong bezier và tại mỗi bước tính toán điểm dọc theo đường cong với (dt * speed) cách vị trí hiện tại của đơn vị. Tôi nghi ngờ rằng kỹ thuật này sẽ giúp việc xác định chính xác con đường mà các đơn vị sẽ đi theo dễ dàng hơn nhiều, nhưng tôi không biết chính xác cách thực hiện việc này. Bất kỳ đề xuất?
Ngoài ra, tôi không làm điều này sẽ thay đổi câu trả lời của bất kỳ ai, nhưng các đơn vị cũng phải có thể di chuyển với tốc độ không đổi dọc theo con đường. Ngoài ra, tôi đang lập trình trò chơi này bằng python bằng khung pyglet.
Nếu bất cứ điều gì về câu hỏi không rõ ràng xin vui lòng cho tôi biết.
Chỉnh sửa: Cũng với giá trị của nó, tôi đang cố gắng tái tạo hành vi di chuyển của kẻ thù trong Kingdom Rush .