scrollen?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Xsoft
Beiträge: 15
Registriert: 24.09.2004 18:17
Wohnort: Hessen
Kontaktdaten:

scrollen?

Beitrag von Xsoft »

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
Windows XP Home Edition - SP1 - Pure Basic 3.93 - jaPBe
crX
Beiträge: 21
Registriert: 29.12.2004 17:29
Wohnort: Dort wo's leckcher Fondüü hat

Beitrag von crX »

Deine Frage ist etwas ungenau, ich könnt mir da jetzt mehrere Dinge darunter vorstellen. Nenn doch als Beispiel ein Spiel, das die Mapwechseltechnik benutzt, die dir vorschwebt.
Benutzeravatar
Xsoft
Beiträge: 15
Registriert: 24.09.2004 18:17
Wohnort: Hessen
Kontaktdaten:

Beitrag von Xsoft »

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!!
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:

Beitrag von DarkDragon »

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.
crX
Beiträge: 21
Registriert: 29.12.2004 17:29
Wohnort: Dort wo's leckcher Fondüü hat

Beitrag von crX »

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

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.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

CS2D ist fürn arsch *hust*. Macht aber spa. wenn man mit n mem hacking tool ran geht und dann auf publics leute nervt das so genial ^_^
Bild
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

tztztztztz hacking ............... :twisted:
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

was, ich hasse das spiel, naund ? Der programmierer ist n arsch >_>. ich halte nicht viel von ihm.. -_-
Bild
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

@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.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten