পটভূমি:
আমার একটি রেট্রো প্ল্যাটফর্মার রিমেক প্রকল্পের জন্য জাম্প বক্রের সঠিক পেতে আমার একটি সমস্যা হচ্ছে। আসল খেলাটি এনইএসের জন্য, এবং খেলোয়াড়ের বেগ দুটি পৃথক অংশে সংরক্ষণ করা হয়: পুরো সংখ্যার জন্য একটি বাইট এবং ভগ্নাংশের অংশের জন্য আরেকটি।
মাধ্যাকর্ষণটি প্লেয়ারের ওয়াই গতিতে 0.25 / ফ্রেমের হারে যুক্ত হয়।
খেলোয়াড় যখন লাফ দেয়, তখন তার ওয়াই গতি -4.64453125 এ সেট হয়। জাম্পের বাকী বাকী বাকী অংশটি মাধ্যাকর্ষণতে রেখে গেছে।
প্লেয়ারটি আরোহণের সাথে সাথে তার উল্লম্ব বেগটি 0.25 / ফ্রেমের হারে 0 তে রূপান্তর করে। প্লেয়ারের বেগ যখন শূন্যের চেয়ে কম মানের কাছে পৌঁছায়, তবে वेगটি ভিন্ন ধাঁচের পরে পরিবর্তন হয়। প্রতি ফ্রেমে অবিচ্ছিন্নভাবে 0.25 দ্বারা কমার পরিবর্তে, এটি এই ধরণটি অনুসরণ করে:
[1.75, -0.25, -0.25, -0.25, 1.75, -0.25, -0.25, -0.25, 1.75, ...]
এটি পূর্ণসংখ্যার ওভারফ্লোতে কিছু করার আছে বলে মনে হচ্ছে।
ডেটা:
এখানে মূল থেকে ডেটা ফেলা হয়। এটি বেগের একটি টেবিল।
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
সমস্যা:
আমার গেমটিতে আমি এই প্রভাবটি অর্জন করতে সক্ষম হইনি। বেগ যখন শূন্যের চেয়ে কম হয় তবে এটি উপরে বর্ণিত প্যাটার্নের পরিবর্তে নিয়মিত 0.25 দ্বারা হ্রাস পেতে থাকে। সম্পূর্ণ এবং ভগ্নাংশ অংশ পৃথকভাবে সঞ্চয় করার পরিবর্তে, আমি সেগুলি একক ফ্লোটে একসাথে সঞ্চয় করছি।
এই প্রভাবটি কীভাবে অর্জন করা যায়?