When using GAP, one generally starts with an image containing a single background layer and then runs "Video->Duplicate Frames" to create all of the other frames in the image.
Next one would create their moving "object" in a separate image, then (in the original image) use "Video->Move Path" to import that object to each of their frames, specifying a path along which the object is supposed to move. The speed of the object is controlled by the length of the path.
This is repeated for the other objects.
Attachment:
anim-example.gif [ 165.68 KiB | Viewed 2984 times ]