Комментарии.
Юрыч, в твоём алгоритме меняет позицию спрайта по OY, но не меняет позицию игрока по этой оси. Стоит либо менять позиции игрока и отрисовывать спрайт согласно им, либо забить на игрока и руководствоваться только позициями спрайта. А то выходит дублирование логики.