Za početak možeš iskoristiti ovo poslednje rešenje, ali cilj i prava stvar je napraviti kretanje koje će zavisiti od vremena, a ne od brzine mašine na kojoj se izvršava program (što upravo i dobijaš promenom pozicije u petlji / idle funkciji itd.) Znači sigurno se za pravi rezultat moraš osloniti na timer sistema (zavisno od sistema ovo se različito izvodi), imaš nešto o tome koliko se sećam na gamedev.net (članak + primeri - source).
Lepota je u jednostavnosti.
Cis.