こういうのって
vec.x += a
ってして
vec.x==10のときにa=-1
vec.x==-10のときにa=1
ってやるのが常套手段かと

てか今のコードだと現在上昇してるか下降してるかがわからなくね?