Tôi đang rách tóc ra để cố gắng tìm ra những gì có vẻ là một vấn đề rất dễ. Tôi biết rất nhiều thứ này đã được nói về tiếp tuyến, vì vậy xin lỗi nếu điều này treads trên mặt đất được bảo hiểm tốt, nhưng tôi không thể tìm thấy bất cứ điều gì cụ thể cho giải pháp của tôi (tôi tin rằng, tôi đã nhìn).iOS - Kéo đối tượng dọc theo các đường cong
Về cơ bản, tôi muốn kéo một đối tượng/sprite dọc theo một đường cong cong được xác định trước (không chỉ di chuyển nó, mà còn là DRAG IT). Hãy nghĩ về điều "Trượt để mở khóa" của iPhone, nhưng thay vì chỉ kéo thanh trượt sang trái sang phải, hãy tạo đường dẫn hình cung hoặc đường lượn sóng.
suy nghĩ cơ bản của tôi là:
- xác định một con đường Bút chì, thiết lập các đối tượng ở điểm bắt đầu.
- nếu đối tượng được chạm vào, hãy kiểm tra phát hiện lần truy cập trên đường bezier trong chạmMoved (hoặc một số chức năng tương tự). nếu chạm trên đường dẫn, hãy đẩy sprite dọc theo đường dẫn cho đến khi đường dẫn kết thúc (trong trường hợp đó, tác vụ được hoàn thành) hoặc ngón tay của người dùng tắt đường dẫn (trong trường hợp đó, đối tượng sẽ quay lại phần đầu).
Không có điều này là tầm thường (ít nhất, đó là cách nó có vẻ). Ví dụ:
- Thực hiện phát hiện lần truy cập trên đường Bezier là nỗi đau hoàng gia vì bạn thực sự cần thực hiện trên phần vuốt ve chứ không phải phần lấp đầy. Và thậm chí sau đó, tôi dường như không thể tìm thấy một cách để làm điều đó trên một con đường của bất kỳ chiều rộng - chỉ trên con đường 1-điểm rộng của Bezier.
- Di chuyển một đối tượng một phần dọc theo một con đường thậm chí không thể thấy được: tất cả các phương thức hoạt ảnh di chuyển sprite dọc theo đường dẫn ENTIRE. Ngoài ra, làm điều này đòi hỏi bạn phải tìm điểm trên con đường gần nhất với liên lạc của người dùng, trong đó, nếu bạn đã từng nhìn điều này liên quan đến toán học phức tạp đáng kinh ngạc.
- Tôi đã nghĩ đến việc sử dụng các vật cứng nhắc để chiếm toàn bộ không gian EXCEPT đường dẫn, vì vậy đối tượng chỉ có thể di chuyển trong đường dẫn. Tuy nhiên, điều này đòi hỏi định nghĩa của các cơ quan cứng nhắc cong một số trong đó phải được lõm. Ngõ cụt.
Tôi có làm điều này quá khó không? Nó không có vẻ phức tạp. Tôi không cần một giải pháp hoàn toàn, chỉ là một cách mới để suy nghĩ về điều này và đá đúng hướng. Bất kỳ trợ giúp sẽ được thực sự đánh giá cao.
Tôi biết điều này đã được hỏi từ lâu nhưng tôi đang chạy vào một thứ rất giống ngay bây giờ và tự hỏi liệu bạn có nhận ra điều này không và có thể giúp hướng tôi xuống con đường chính xác. – gikygik