Sidescroller

Anfängerfragen zum Programmieren mit PureBasic.
MB1973
Beiträge: 4
Registriert: 24.12.2022 00:16

Sidescroller

Beitrag von MB1973 »

Hallo auch,

ich bin neu hier und komme nicht ganz weiter. Eigentlich möchte ich etwas ganz einfaches. Komme aber nicht zurecht.
Ich möchte mir eine SideScroller programmieren. Dazu habe ich mir drei schwarze PNG's mit vielen unterschiedlichen bunten Pixel erstellt.
Diese sollen nun endlos durch den Bildschirm scrollen. Gedacht habe ich mir das in etwa So:

Bild 1 soll die erste Ebene darstellen und langsam scrollen
Bild2 die mittlere Ebene die etwas schneller scrollt
und Bild 3, die vordere Ebene die am schnellsten scrollt.

So möchte ich einen Pseudo-3d-Effekt erzeugen. Die Bilder müssen natürlich im Transparent-Modus sein. sonst scheinen die Pixel/Sterne ja nicht durch.

Vor diesem Hintergrund sollen dann mit CreateSphere und CreateCube erzeugte Objekte tanzen. Das bekomme ich soweit auch hin. Aber der beschriebene Hintergrund lässt mich verzweifeln.

In xProfan war das ganz einfach doch in PureBASIC habe ich keine Ahnung.

Wäre schön wenn ihr mir ein Beispielcode zeigen könntet.

Gruß aus Castrop,
MB1973
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: Sidescroller

Beitrag von tft »

Hallo ....... erinnert an alte Zeiten.

Also einen Beispiel-Code kann ich nicht bieten. Denn 2D und 3D in dieser Form zu vereinen, ist nicht ganz trivial.

Als Erstes, solltest du dir Gedanken machen, wie sich das technisch mit der 3d Engine von Purebasic realisieren lassen könnte.

Soweit ich weiss, lässt sich der Hintergrund nur mit einer SkyBox setzen. Multilayer gibt es da nicht wirklich. Du müsstest also über die Material
Eigenschaften, die Offsets mehrere Layer steuern.
Es wäre auch denkbar. Mehrere Planes transparent hintereinander zu legen. Und diese direkt im 3D Raum zu verschieben. Die 3D-Objekte
müssten dann immer vor diese Planes gezeichnet werden.

Das sind zumindest meine ersten Gedanken dazu. Da mich die Aufgabe interessiert. Würde ich dir gerne dabei helfen. Wenn du magst,
können wir gerne einen ZOOM Call machen. Denn solche Sachen über geschriebene Nachrichten zu erarbeiten, ist sehr mühsam.

Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
SMaag
Beiträge: 184
Registriert: 08.05.2022 12:58

Re: Sidescroller

Beitrag von SMaag »

Funktonsansatz! Scroll im Eigenbau!

Dass das direkt mit PNG geht glaub eher ich. Bitmap wird wohl besser sein, da du das Bild zeilenweise benötigst.

Buffer erstellen, in den das Bild 2x hintereinander passt. Das Bild 2x hintereinander kopieren.
Evtl. einfach das Bild 2x so hoch machen wie benötigt, da beim hintereinander kopieren auch der Bitmap Header mit kopiert wird
Jetzt bauchst du noch die Zeilenlänge in Bytes. Bei BMP bekommt man das raus! Wie weis ich aber gerade nicht!

Dann Scrollen über Pointer.
Pointer praktisch n Zeilen weiterschalten.

Dann Bild ab Pointer mit Drawbefehl in den Hintergrund zeichen.
Evtl. muss man zuerst CreateImage() bemühen, um ein verarbeitbares Bild zu bekommen.

so nach der Reihe mit allen 3 Bildern verfahren!
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Sidescroller

Beitrag von bobobo »

mach das mal komplett im 3d
in etwas so: eine fixe kameraposition gerichtet auf drei hintereinanderlegende planes
die planes selber werden mit einer scrollenden Texture bepflastert. eventuell auch tramsparent
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: Sidescroller

Beitrag von tft »

ja .... das ist sogar noch besser. Die Textur musst du nicht-mal Scollen. Die Plane entsprechend breit machen. Und dann nur die y Position verschieben. Du kannst das auch mit der Camrea mittels Nodes verknüpfen. Da setze ich mich doch gleich mal rann, und probiere es mal.

Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
darius676
Beiträge: 512
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: Sidescroller

Beitrag von darius676 »

Sollte einfach sein:
Für jede Ebene die Grafik 2x ablegen
Beide Grafiken bewegen sich mit Geschwindigkeit X horizontal.
Sobald Grafik 1 nach links verschwindet, diese an den Rechten Rand setzen. Dies mit jeweils angepasster Geschwindigkeit für jede Ebene realisieren. Dies funktioniert wunderbar mit PNG.
Ich verwende dies (eine Ebene) bei meinem aktuellen Spiel (AWAKENING) für den Hintergrund.
Antworten