Bildschirm - Automatisches weitergehen

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Rattlesnake Entertainment
Beiträge: 34
Registriert: 25.10.2005 16:17

Bildschirm - Automatisches weitergehen

Beitrag von Rattlesnake Entertainment »

Hi, Leute!
Ich will ein *cooles* Jum 'n' Run-Spiel machen, aber mein Problem ist, dass wenn man am Ende (oder kurz am Ende) ist, dass dann die Welt aufhört.
Problem: Der Bildschirm soll soweit nach rechts "rollen" bis man mit dem Spielen aufhört, oder im Ziel ist. Aber der Source soll dann auch nicht so aussehen:

InitSprite()
ExamineKeyboard()
If Bildschirm = 640
Sprite(XY ...bla bla... SpriteOutput() ...bla...)
Else KeyboardPushed(#PB_Key_Escape) Or ...bla...bla
If Player = 420 And XYZ #PB_Sprite ...bla
Else bla... 90 #PB_Sprite XYZ-Position
EndIf
Event(#PB_Event bla...)

OK, jetzt reicht's auch wieder :)
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Re: Bildschirm - Automatisches weitergehen

Beitrag von MLK »

Rattlesnake Entertainment hat geschrieben:Ich will ein *cooles* Jum 'n' Run-Spiel machen
damit meinst du nicht zufällig das coolste game überhaupt und damals von mir fanatisch gespielte und heute noch von mir geliebte und deinem namen nach verdächtige "snake rattle n roll" ? :D
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@Snake:

ich versteh dein Problem noch nicht ganz...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
Rattlesnake Entertainment
Beiträge: 34
Registriert: 25.10.2005 16:17

Beitrag von Rattlesnake Entertainment »

Das Problem ist: wenn man am Ende des Bildschirmes ist, kommt man nicht mehr weiter. Der Bildschirm allerdings, sollte aber weitergehen, nun ja - weiterrollen
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich versteh dein problem immer noch nicht..

vielleicht solltest du deinen hintergrund mit ner anständigen tile-engine anzeigen.
sowas ist eigentlich ganz fix selbst gecodet...

[edit]
ich erahne das problem...

wenn deine spielfigur nahe an den rechten rand kommt, dann initiierst du ein schub-scrolling...

Code: Alles auswählen

If PlayerX > 540
   Scrollcounter = 200
Endif
If Scrollcounter
   Scrollcounter-1
   PlayerX-1
   ScreenX+1
EndIf
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

@rattle
hast du den link überhaupt angeguckt. :? so ein buch würde dir sicherlich gut tun.

@kaeru
ich schätze mal, er möchte ein 2d scrolling game schreiben und weiss nicht wie er das scrollen realisieren soll.

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

@nco

stimmt, das könnte natürlich sein, dass er noch überhaupt nicht scrollt...


@Snake

beschreib doch mal, wie du den Hintergrund darstellst...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Rattlesnake Entertainment
Beiträge: 34
Registriert: 25.10.2005 16:17

Beitrag von Rattlesnake Entertainment »

@nco2k
Natürlich hab' ich den Link gelesen, aber ich geb' doch nicht eine Schwarte Geld aus, dass ich ein einziges Ding weiß. Angenommen das Buch hätte 300 Seiten. 2 Seiten, die das Problem beheben. 298 Seiten für nichts. Aber trotzdem vielen Dank :) , dass du den Link gesendet hast.

@Kaeru Gaman
Ich glaub ich hab' auch eine Andere Variante gefunden...

Code: Alles auswählen

Global PlayerX.w
Global PlayerY.w
Global BildscihrmX.w
Global BildschiremY.w

Repeat..

If PlayerX = 630
BildschirmX +1
Endif
kann sein, dass ich es ganz falsch hab', aber ich würd's halt so probieren :wink:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Rattlesnake Entertainment hat geschrieben:Ich glaub ich hab' auch eine Andere Variante gefunden...

Code: Alles auswählen

If PlayerX = 630
BildschirmX +1
Endif
schon mal ein guter ansatz, das von mir war eben ein schub, deins ist kontinuierlich..

1) ich würde bei der abfrage von PlayerX nicht =630 sagen, sondern >=630
630 nimmst du auch nur, wenn dein Player-Sprite max 10pix breit ist

2) ein denkfehler: dein Bildschirm soll nach links scrollen, also musst du dort ein minus nehmen.

3) etwas vergessen: du musst den player genauso wie screen nach links verschieben.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten