Tôi đã thực hiện điều này trong Bộ khởi động trò chơi vẽ đường thẳng của mình và tránh sử dụng các giải pháp được thiết kế quá mức. Bạn có thể cần một điểm mỗi khoảng cách 10 pixel, do đó bạn có thể có được một đường thẳng mượt mà mà không cần sử dụng quá nhiều bộ nhớ hoặc vẽ các cuộc gọi. Sau đó, chỉ đơn giản là di chuyển các vật thể từ điểm A đến B. Để làm cho chúng xuất hiện như đang di chuyển trơn tru dọc theo con đường, bạn chỉ cần xoay chúng theo hướng chuyển động. Điều này được thực hiện theo thời gian và không phải ngay lập tức, vì vậy bạn sẽ có được sự mượt mà, theo chuyển động của đường cong mà không cần sử dụng các đường cong Bezier hoặc tương tự.
Các điểm được lưu trữ trong một mảng đơn giản, bên trong lớp Path cũng biết cách vẽ đường dẫn bằng OpenGL. Bạn có thể có bất kỳ số điểm đường dẫn nào nhưng tôi sẽ giới hạn chúng ở mức 50 đến 300 tùy thuộc vào thiết bị và độ mượt cần thiết.
Để nội suy dòng, bạn nên tra cứu Thuật toán trung bình trượt của McMaster (lý thuyết) .
Đối tượng chỉ di chuyển đến điểm đầu tiên khi người dùng đã rút ít nhất hai điểm, để tránh đối tượng quay cuồng dữ dội. Khi di chuyển về điểm đầu tiên, mã giống như di chuyển đến điểm thứ hai, thứ ba, thứ tư, v.v.