I pixel sono attivati o disattivati. La quantità minima che puoi spostare di uno sprite è un singolo pixel. Quindi, come si fa a spostare lo sprite più lentamente di 1 pixel per frame?
Il modo in cui l'ho fatto è stato quello di aggiungere la velocità a una variabile e testare se avesse raggiunto 1 (o -1). In tal caso, sposterei lo sprite e reimposterei la variabile su 0, in questo modo:
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
Non mi è piaciuto questo approccio perché sembra sciocco e il movimento dello sprite sembra molto a scatti. Quindi, in che modo implementeresti il movimento sub-pixel?