Pixel sind entweder ein oder aus. Der Mindestbetrag, um den Sie ein Sprite verschieben können, ist ein einzelnes Pixel. Wie bewegt sich das Sprite langsamer als 1 Pixel pro Frame?
Ich habe die Geschwindigkeit zu einer Variablen hinzugefügt und getestet, ob sie 1 (oder -1) erreicht hat. Wenn ja, würde ich das Sprite verschieben und die Variable wie folgt auf 0 zurücksetzen:
update(dt):
temp_dx += speed * dt
temp_dy += speed * dt
if (temp_dx > 1)
move sprite
reset temp_dx to 0
if (tempy_dy > 1)
move sprite
reset temp_dy to 0
Ich mochte diesen Ansatz nicht, weil er sich albern anfühlt und die Bewegung des Sprites sehr ruckartig aussieht. Auf welche Weise würden Sie die Subpixel-Bewegung implementieren?