Lý lịch:
Tôi đang gặp vấn đề khi điều chỉnh đường cong nhảy cho dự án làm lại nền tảng retro của tôi. Trò chơi ban đầu dành cho NES và vận tốc của người chơi được lưu trữ thành hai phần riêng biệt: một byte cho toàn bộ số và một phần khác cho phần phân số.
Trọng lực được thêm vào tốc độ Y của người chơi với tốc độ 0,25 / khung hình.
Khi người chơi nhảy, tốc độ Y của anh ta được đặt thành -4,64453125. Phần còn lại của đường cong nhảy được để lại trọng lực.
Khi người chơi tăng tốc độ thẳng đứng của mình hội tụ về 0 với tốc độ 0,25 / khung hình. Tuy nhiên, khi vận tốc của người chơi đạt đến một giá trị nhỏ hơn 0, thì vận tốc sẽ thay đổi theo một kiểu khác. Thay vì giảm dần 0,25 mỗi khung hình, nó tuân theo mô hình này:
[1.75, -0.25, -0.25, -0.25, 1.75, -0.25, -0.25, -0.25, 1.75, ...]
Nó dường như có một cái gì đó để làm với tràn số nguyên.
Dữ liệu:
Đây là một bãi chứa dữ liệu từ bản gốc. Đó là một bảng vận tốc.
Jump Curve
Y-Hi Y-Lo Decimal Change/Frame
4 165 4.64453125 ?
4 101 4.39453125 -0.25
4 37 4.14453125 -0.25
3 229 3.89453125 -0.25
3 165 3.64453125 -0.25
3 101 3.39453125 -0.25
3 37 3.14453125 -0.25
2 229 2.89453125 -0.25
2 165 2.64453125 -0.25
2 101 2.39453125 -0.25
2 37 2.14453125 -0.25
1 229 1.89453125 -0.25
1 165 1.64453125 -0.25
1 101 1.39453125 -0.25
1 37 1.14453125 -0.25
0 229 0.89453125 -0.25
0 165 0.64453125 -0.25
0 101 0.39453125 -0.25
0 37 0.14453125 -0.25
-1 229 -1.89453125 1.75
-1 165 -1.64453125 -0.25
-1 101 -1.39453125 -0.25
-1 37 -1.14453125 -0.25
-2 229 -2.89453125 1.75
-2 165 -2.64453125 -0.25
-2 101 -2.39453125 -0.25
-2 37 -2.14453125 -0.25
-3 229 -3.89453125 1.75
-3 165 -3.64453125 -0.25
-3 101 -3.39453125 -0.25
-3 37 -3.14453125 -0.25
-4 229 -4.89453125 1.75
-4 165 -4.64453125 -0.25
-4 101 -4.39453125 -0.25
-4 37 -4.14453125 -0.25
-5 229 -5.89453125 1.75
-5 165 -5.64453125 -0.25
-5 101 -5.39453125 -0.25
-5 37 -5.14453125 -0.25
-6 229 -6.89453125 1.75
Vấn đề:
Trong trò chơi của tôi, tôi không thể đạt được hiệu ứng này. Khi vận tốc nhỏ hơn 0, nó tiếp tục giảm thường xuyên 0,25 thay vì mô hình được mô tả ở trên. Thay vì lưu trữ toàn bộ và các phần phân đoạn riêng biệt, tôi đang lưu trữ chúng cùng nhau trong một lần nổi.
Làm thế nào có thể đạt được hiệu ứng này?