Tôi đang làm việc với một trò chơi mà bạn điều khiển một trebuchet để ném bóng vào đối thủ.
Nó giống như một trò chơi gọi là 'Cuộc bao vây thời trung cổ'. Khi trebuchet đang vung tay, người chơi cần nắm bắt khoảnh khắc tốt nhất để nhấn nút và thả bóng. Sau đó bóng sẽ bay ở góc tiếp tuyến. Vấn đề của tôi bây giờ là cánh tay trebuchet vung quá nhanh để người chơi có thể nắm bắt đúng thời điểm. Trong khi đó nó phải nhanh như vậy nếu không nó không thể ném đủ xa. Và có một sợi dây nhỏ nối giữa cánh tay bóng và trebuchet, nếu cánh tay vung quá chậm, quả bóng chỉ bị treo trên dây khi cánh tay di chuyển.
Tôi giải quyết vấn đề bằng cách bật kích thước bước, bất cứ khi nào cánh tay xoay, tôi thay đổi kích thước bước từ 1/60 thành 1/200. Và một khi người chơi thả bóng, nó trở lại 1/60.
Điều này hoạt động khá tốt, ngoại trừ trò chơi của tôi là dành cho nhiều người chơi với mạng. Vì vậy, thay đổi bước có thể gây ra vấn đề.
Một giải pháp khác tôi có thể nghĩ đến là cho phép nó lắc chậm, nhưng khi người chơi thả bóng, tôi tự thêm vận tốc vào bóng trong khi giữ hướng của nó. Tôi không thực sự thích giải pháp này vì nó trông giả tạo và tôi vẫn gặp vấn đề là quả bóng chỉ treo trên dây, trừ khi tôi tạo chuỗi rất ngắn ..
Xin hãy làm sáng tỏ điều này, cảm ơn!
BIÊN TẬP
Cảm ơn sự đóng góp của mọi người, tôi giải quyết vấn đề bằng cách làm cho cánh tay xoay chậm và khi người chơi thả bóng, lấy vận tốc của quả bóng và lần thứ hai. Nó trông giống hệt như thay đổi kích thước bước. Tôi chỉ cần làm thêm một việc nữa. Bởi vì cánh tay đang lắc rất chậm, quả bóng chỉ được treo trên đầu cánh tay thay vì vung. Tôi đã giải quyết điều này bằng cách tác dụng một lực bằng với lực hấp dẫn lên quả bóng trong và chỉ trong giai đoạn swing. Sau đó, nó không còn treo ở đó mà đu cùng với cánh tay.
Câu trả lời của @MrCranky là chi tiết và có vẻ khả thi, vì vậy tôi chấp nhận nó. :)