Inwiefern meinst Du jetzt?
In meinem Fall war es so, daß ich einfach die Spielfigur immer genau in der Mitte des Bildschirms angezeigt hab. Alles andere hat sich dann relativ zur Spielerposition verschoben.
Es gibt aber auch Spiele (bzw. das sind sogar die meisten), wo man einen gewissen Hin- und Herlaufbereich hat, und erst ab einer gewissen Position scrollt der Hintergrund dann mit und die Figur bleibt an dieser Position stehen. Das fand ich zu dem Zeitpunkt grad etwas kompliziert bzw. ich war zu faul, aber auch das sollte nicht gerade ein großes Problem sein.
~
Mal noch ein konkreteres Beispiel. Du hast die PlayerX und PlayerY. Den Player selbst zeichnest Du immer genau in der Mitte, also völlig unabhängig von X und Y. Nehmen wir an Du hast eine Auflösung von 320x240 und Deine Figur ist 40x40 groß, dann wäre die Position 140|100 (wobei ich statt 100 dann doch eher 120 oder 130 sogar nehmen würde, weil es cooler aussieht wenn die Figur nicht allzu weit oben ist).
Alle anderen Koordinaten, z.B. die eines Tiles oder eines Objekts, berechnest Du so:
Code: Alles auswählen
DrawObjX = ObjX - PlayerX + 140 - ObjWidth*0.5
DrawObjY = ObjY - PlayerY + 100 - ObjHeight*0.5 ;oder eben statt 100 was anderes
Nun programmierst Du das Spiel natürlich so, daß bei Tastendruck sich die PlayerX und PlayerY Werte ändern, und dann sollte es eigentlich perfekt funktionieren. Wenn Du dann noch einbauen willst, daß Du eben einen gewissen Spielraum hast, bevor der Hintergrund zu scrollen anfängt, mußt Du erstmal 'ne Weile Mario und Co. zocken, schauen, wie die das so gemacht haben, dann entscheiden ob Du das auch willst

und dann den Code entsprechend anpassen.
EDIT: Ach ja, mein Ansatz wäre (hab aber nie großartig drüber nachgedacht), zusätzlich CameraX und CameraY zu verwenden, wobei sich diese nur ändern dürfen, wenn PlayerX und PlayerY zu stark davon abweichen. Läuft der Typ also rum, ändert sich die Player-Position, und wenn z.B. PlayerX 50 Pixel größer oder kleiner als CameraX ist, verändert sich auch CameraX. Gezeichnet wird dann natürlich auch entsprechend nach CameraX und nicht nach PlayerX. Auch der Player wird dann vom Zeichnen her eben wie alle anderen Objekte auch behandelt.