Tibowl / KCBugTracker

Community run bug tracker for KanColle
14 stars 1 forks source link

レベル上がり時の最終フレームが表示されない | Level UP animation not showing in last frame #5

Open Tibowl opened 4 years ago

Tibowl commented 4 years ago

Description When the ship has slightly less XP remaining than the XP it would gain, the animation won't play (example: 539 XP till level up + 540 XP = doesn't play level up animation). This happens when the XP animation is supposed to play in the last frame and does not go above the cap. (since the game runs at 60FPS and the animation is 2 seconds long, this means going over <1/120th of the xp gained, I'll also provide a calculator to check at which cases it happens - might be inaccurate).

Screenshot and/or video Video

Reproducing Steps to reproduce the behavior: (if applicable, otherwise remove this section)

  1. Get a ship with 539 XP remaining till level up
  2. Do a battle where she would gain 540 XP
  3. Level up animation doesn't play in battle_result

Potential fix In TaskShowLevelup, the _onChange method animation uses target >= border. However _completedShow method that starts the animation uses target === border - this issue can be fix by changing this into >=. YouTube video showcasing the bug and fix on localhost test server.

Japanese Translation: タイトル:レベル上げ時の最終フレームが表示されない

説明 レベル上げに必要な経験値が獲得する経験値より少し低い場合、アニメーションが表示されません。例えば、次のレベルまで539経験値が必要で、540経験値を獲得する場合、レベルが上がるアニメーションが表示されません。発生条件としては、レベル上げのアニメーションが最後のフレームにあり、キャパシティに達しない時です。原因としては、ゲームは60FPSで実行され、アニメーション自体が2秒間を持続するので、獲得する経験値の<1/120を超えるためです。精確ではないかもしれませんが、この状況の再現を判断する計算機を提供します。

スクリーンショット及び動画 Video

バグの再現方法 バグを再現するために、必要な手順を説明してください:(存在しない場合は削除しても良い)

  1. 次のレベルまで539経験値の残る艦娘を確保する
  2. 540経験値を獲得する戦闘をさせる
  3. 戦果報告の画面ではレベルの上がるアニメーションが表示されない

可能な再現方法 TaskShowLevelupでは、_onChangeメソッドはtarget >= borderを利用します。 しかし、アニメーションの_completedShowメソッドはtarget === borderを利用します。 >=に変えることにより、このイシューは修正できます。 YouTube videoはローカルテストサーバで、このバグの再現と修正を示します。