# Bewegender Hintergrund oder bewegendes Männchen?



## iL0ndi (2. Feb 2014)

Hallo Zusammen,
Ich will mir ein ganz simples 2D Spiel im Sinne von Mario basteln.
Im Internet habe ich gesehen, dass manche, die Variante mit dem bewegenden Hintergrund bevorzugen, bei dem das "Männchen" immer am gleichen Punkt bleibt, und Andere die Variante mit dem frei bewegenden Männchen mit starrem Hintergrund verwenden. Bei dem der Hintergrund erst wechselt, wenn die Figur am Rande ist.

Meine Spiel Figur sollte durch hin und her laufen, z.B. Pilze sammeln.

Meine Fragen nun:
-Soll ich die Variante mit dem bewegenden Hintergrund verwenden, oder die andere Variante? und warum? Was ist besser/einfacher?

-Wie kann ich z.B. solche Pilze in die Welt einfügen? Mit JLabels und Bildern?

lg londi


----------



## MrClave (2. Feb 2014)

iL0ndi hat gesagt.:


> Hallo Zusammen,
> Ich will mir ein ganz simples 2D Spiel im Sinne von Mario basteln.
> Im Internet habe ich gesehen, dass manche, die Variante mit dem bewegenden Hintergrund bevorzugen, bei dem das "Männchen" immer am gleichen Punkt bleibt, und Andere die Variante mit dem frei bewegenden Männchen mit starrem Hintergrund verwenden. Bei dem der Hintergrund erst wechselt, wenn die Figur am Rande ist.
> 
> ...



Was die erste Frage angeht: Keine genaue Ahnung.
Ich denke die meisten würden mit Offsets arbeiten, sprich, dass die Figur eine fixierte Position hat, und sich der Hintergrund nur verschiebt.
Du kannst ja auch einfach mal beides ausprobieren. Erfahrung bringt mehr als irgendwelche Foreneinträge.

In der Spieleprogrammierung verwendet man keine Labels oder Panels. Höchstens einmal als "Unterlage", wie ein Stück Papier. Du klebst ja auch nicht ein neues Blatt Papier auf den Hintergrund, um einen Menschen darzustellen. 
Das Graphics Objekt bietet verschiedene Möglichkeiten, Bilder und Figuren zu zeichnen.
Dazu gibt es auch mehr als genug Tutorials auf YouTube und Google.


----------



## Gucky (2. Feb 2014)

Die Variante mit dem starren Männchen ist IMHO flüssiger und "weicher", wenn du verstehst, was ich meine. Auch ist sie leichter zu programmieren. (Ich habe beides noch nicht programmiert, stelle es mir aber leichter vor).

Bei dem starren Hintergrund gibt es zwei Möglichkeiten:

Die unterschiedlichen Räume so groß zu machen, wie den Bildschirm und pro neuem Raum das jeweilige Bild neu zu laden. Das ist wieder nicht schwer sondern eher mühsam und kompliziert die ganzen Inhalte in dem Raum zu koordinieren. Dazu habe ich aber die eine oder andere Idee. 
Du lässt die Figur bis ans Ende laufen um dann den Hintergrund zu bewegen.

Das kommt drauf an, was du machen willst. Castlevania oder Mario. Bei Mario fände ich es am besten, wenn der Spieler dem goldenen Schnitt entsprechend im sichtbaren Bereich platziert ist und sich der sichtbare Bereich verschiebt, je nach dem, in welche Richtung der Spieler guckt.


Ein JLabel ist eher ein starres Component. Guck dir dazu mal die Spriteprogrammierung an.


----------



## gnarf (2. Feb 2014)

im grunde ist es beides gleich schwer
kommt halt drauf an wie grosse maps du haben willst 
wobei bei zu grossen maps das problem dazukommt das es zu langsam werden kann wenn du die ganze map auf einmal berechnest.

du kannst natürlich auch beides kombinieren das das männchen sich frei bewegt und wenn es nah an den bildrand kommt sich der hintergrund bewegt.is natürlich auch ein bisschen mehr arbeit,sieht aber IMHO auch dynamischer aus
ich will dich natürlich auch nicht überfordern 

ich würd einfach sagen probier aus wies dir am besten gefällt


----------

