scrollen?
scrollen?
Hallo,
also ich arbeite an einem 2D Shooter so aus der TopDown Perspektive. Und wenn der Spieler an das Ende des Bildschirms kommt das die Karte dann weiter scrollt..^^ weiß nicht wie ich das anders formulieren soll.
MfG
also ich arbeite an einem 2D Shooter so aus der TopDown Perspektive. Und wenn der Spieler an das Ende des Bildschirms kommt das die Karte dann weiter scrollt..^^ weiß nicht wie ich das anders formulieren soll.
MfG
Windows XP Home Edition - SP1 - Pure Basic 3.93 - jaPBe
Ihr kennt doch sicherlich das Spiel "Counterstrike2D" von Unreal Software. Da läuft man doch, und wenn man da am Ende des Bildschirms angelangt scrollt das weiter und man sieht die anderen Sachen halt. Wenn ich z.B. ne Map mache und ich will ja net das der Spieler am Bildschirmende stehen bleibt, siondern das es weiter scrollt und das ich den anderen Teil der Map sehe..
lol ich kanns irgendwie nich richtig erklären!!
lol ich kanns irgendwie nich richtig erklären!!
Windows XP Home Edition - SP1 - Pure Basic 3.93 - jaPBe
-
DarkDragon
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Ganz einfach: geht der spieler nach rechts, und erreicht er den rechten rand, so scrollt die kamera einfach weiter nach rechts, sodass der spieler immer sichtbar ist. Dafür würde ich jede Position der Objekte - Kameraposition nehmen. Zur prüfung ob der Spieler am Rand ist nimmst du einfach eine If abfrage.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
ich guck mir das teil mal an. geht noch ein paar minuten, der downloadserver suckt irgendwie gerade 
EDIT:
Mhm, hab mir das mal angeschaut. Wenn Xsoft es so meint, wie DarkDragon es meint, dann kann ich dem nix mehr hinzfügen.
Wenn es aber wie in CS2D sein soll, dann wird einfach der Hintergrund bewegt, ala
EDIT:
Mhm, hab mir das mal angeschaut. Wenn Xsoft es so meint, wie DarkDragon es meint, dann kann ich dem nix mehr hinzfügen.
Wenn es aber wie in CS2D sein soll, dann wird einfach der Hintergrund bewegt, ala
Code: Alles auswählen
If keyboardPushed(#PB_Key_A)
bgpos_y = bgpos_y - walkspeed
Endif
Displaysprite(0, bgpos_x, bgpos_y)
FlipBuffers()
Zuletzt geändert von crX am 29.12.2004 21:45, insgesamt 1-mal geändert.
@LittleFurz:
OK, ich bin nicht das beste Vorbild, aber geh doch wenigstens ein bischen auf die Frage ein. Das ist hier doch keine Umfrage wie man CS 2D findet (und dazu hattest du nichteinmal eine eindeutige Meinung)
Ich würd auch eine onMove-Abfrage machen, die Richtung bestimmen und dementsprechend den Hintergrund in die andere Richtung verschieben.
OK, ich bin nicht das beste Vorbild, aber geh doch wenigstens ein bischen auf die Frage ein. Das ist hier doch keine Umfrage wie man CS 2D findet (und dazu hattest du nichteinmal eine eindeutige Meinung)
Ich würd auch eine onMove-Abfrage machen, die Richtung bestimmen und dementsprechend den Hintergrund in die andere Richtung verschieben.
Windows XP Pro SP2 - PB 4.00Ich bin Ausländer - fast überall
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ich versteh die frage mal nicht als frage nach tile-engine etc, sondern als frage zur koordinaten-verrechnung.
du solltest grundsätzlich die player-koordinaten als absolute koordinaten speichern,
d.h. relativ zum karten-ursprung, nicht zum bildschirm-ursprung.
die bildschirm-koordinaten des players sind dann logischerweise deren differenz.
wenn diese bildschirm-koordinaten nun in einen gewissen randbereich kommen, werden die karten-koordinaten verändert.
die spielfigur bewegt sich dann in der darstellung nicht, weil die karten-koordinaten genausoviel verändert werden wie die player-koordinaten, nur in der gegenrichtung.
du solltest grundsätzlich die player-koordinaten als absolute koordinaten speichern,
d.h. relativ zum karten-ursprung, nicht zum bildschirm-ursprung.
die bildschirm-koordinaten des players sind dann logischerweise deren differenz.
wenn diese bildschirm-koordinaten nun in einen gewissen randbereich kommen, werden die karten-koordinaten verändert.
die spielfigur bewegt sich dann in der darstellung nicht, weil die karten-koordinaten genausoviel verändert werden wie die player-koordinaten, nur in der gegenrichtung.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
