update position based on velocity (rather than static movements)
props have configurable x anchor