Có hàng tá cách tôi có thể diễn đạt câu hỏi này, nhưng để giữ cho suy nghĩ của tôi phù hợp, tôi đang đặt câu hỏi phù hợp với vấn đề của mình.
Vì vậy, tôi đang tạo ra một nền tảng nổi mà tôi muốn có thể chỉ cần di chuyển từ điểm được chỉ định đến điểm khác, sau đó quay trở lại điểm đầu tiên và chỉ cần đi qua giữa hai đường thẳng. Tuy nhiên, chỉ để làm cho nó thú vị hơn một chút, tôi muốn thêm một vài quy tắc vào nền tảng.
- Tôi đang mã hóa nó để di chuyển bội số của toàn bộ giá trị của dữ liệu thế giới. Vì vậy, nếu nền tảng không đứng yên, thì nó sẽ di chuyển ít nhất một chiều rộng toàn bộ hoặc chiều cao của gạch.
- Trong một chiều dài gạch, tôi muốn nó tăng tốc từ điểm dừng đến tốc độ tối đa nhất định.
- Khi đạt đến khoảng cách một chiều dài của ô, tôi muốn nó dừng chậm lại ở tọa độ ô đã cho và sau đó lặp lại quy trình theo chiều ngược lại.
Hai phần đầu không quá khó, về cơ bản tôi gặp rắc rối với phần thứ ba. Tôi muốn nền tảng dừng chính xác ở tọa độ ô, nhưng vì tôi đang làm việc với khả năng tăng tốc, có vẻ dễ dàng bắt đầu áp dụng gia tốc theo hướng ngược lại với giá trị lưu trữ tốc độ hiện tại của nền tảng khi nó đạt đến một chiều dài của ô về khoảng cách (giả sử rằng ô đang di chuyển nhiều hơn một chiều dài của ô, nhưng để đơn giản hóa mọi thứ, hãy giả sử là như vậy) - nhưng câu hỏi đặt ra là giá trị chính xác của gia tốc sẽ tăng lên từ đâu để tạo ra hiệu ứng này? Làm thế nào tôi tìm thấy giá trị đó?
acceleration = desired_velocity - currentVelocity
Sau đó áp dụng gia tốc đó như bình thường. Tôi sẽ tạo ra một câu trả lời trong một chút nữa cho thấy những gì tôi làm.