Make sure you set the shader spawn off the screen so the shader can move to the position you want it too 
My spawn shader:
self.menu["ui"]["background"] = self createRectangle("CENTER", "CENTER", -600, 20, 210, 220, (0, 0, 0), 1, 0, "white");
Like you can see my shader is set to "-600" so it can move to my new position "-350" im shit at explaining things so if you
need anymore help PM me on here and ask for my skype and ill help you even more but i think you should know what i mean.
Where i want the shader to move too:
little example: self.menu["ui]["background"] thread moveTo("x", -350, .5);
You need this:
moveTo(axis, position, time)
{
self moveOverTime(time);
if(axis=="x")
self.x = position;
else
self.y = position;
}