Cześć, mam prawdopodobnie banalny problem, ale może Wam uda się szybciej wpaść na rozwiązanie.
Mam mapę kafelkową np. 16x16px oraz obiekt, który porusza się z prędkością vx i vy po kafelkach i znajduje się na pozycji x i y. Moja zagwozdka: jak obliczyć, w którym następnym kafelku wyląduje mój obiekt - biorąc pod uwagę jego środek.
Wszystko byłoby proste, gdyby obiekt poruszał się tylko w pionie lub poziomie -> wówczas wystarczyłoby tylko dodać 16px do obecnej pozycji w danym kierunku i obliczyć, który to kafelek np. w pozycji y = y; x += 16; (zakładając, że obiekt porusza się tylko w poziomie).
Mam jednak problem jak to przełożyć na ruch ukośny. W końcu jeśli obiekt porusza się z lewego górnego rogu kafelka w kierunku prawego dolnego rogu to ta odległość > 16px; (przekątna to (16*16 + 16*16)^0.5
= 22,62px...
Czy da się to jakoś prosto wyprowadzić?