This should give you the basic idea for moving layer B after layer A starts. Position expression for layer “B” :
A = thisComp.layer("A")
myTime = A.time-A.inPoint;
myPlaceX = 1000+Math.max(100*Math.floor(myTime),0);
myPlaceY = 500+Math.max(50*Math.floor(myTime),0);
[myPlaceX, myPlaceY]
Math.max is used to ensure we start at 0, not in the negative range.
Math.floor is used to move only at full seconds.
inPoint is the time at which the layer starts.
Layers A and B are in the same level of hierarchy here, though. Although it doesn’t sound like you have it set as a child comp, if you did have a comp named “B Comp” within which you have a layer named “B”, it would be this way instead:
A = comp("B Comp").layer("B")
myTime = A.time-A.inPoint;
myPlaceX = 1000+Math.max(100*Math.floor(myTime),0);
myPlaceY = 500+Math.max(50*Math.floor(myTime),0);
[myPlaceX, myPlaceY]
(I have the layers “A” and “B” kinda reversed there…)
Kalleheikki Kannisto
Senior Graphic Designer