nun, weil du die geschwindigkeit SETZT sobald du eine taste drückst, aber nicht mehr auf 0 ZURÜCKSETZT sobald du die tasten loslässt.
Abgesehen davon ist dein versuch nicht sehr effizient. Aber das beiseite, sonst guter anfang.
Falls du möchtest, kannst du dir meinen artikel über Half-Life movement in 3dgs mal durchlesen:
http://3dgsnerd.xware-cg.com/code-snippet-1/