Das Scroll-Problem habe ich ganz einfach gelöst.
Du musst ein Objekt ohne Image kreieren, das du dann
unter einer DoMove Methode mit folgenen Methoden ergänzt:
Engine.X := -x + (Engine.Width - Width) div 2;
Engine.Y := -y + (Engine.Height - Height) div 2;
Damit ist das Objekt immer in der Mitte, egal wie du es versetzt.
Wenn du jetzt den Befehl Scrolle Links programmierst, musst du nur
X := X - Scrollgeschwindigkeit;
eingeben. Damit bewegt sich alle Sprites nach rechts auf dem Bildschirm.