Mehrere-Paralaxhintergund-Ebenen

Über alles generelle über den Point & Click DK Adventure Creator
Post Reply
Scarala
PaC-DK Newby
Posts: 4
Joined: 23 Oct 2014, 17:02

Mehrere-Paralaxhintergund-Ebenen

Post: # 81787Post Scarala
24 Oct 2014, 13:18

Hallo liebe Programmierergemeinde,

ich habe vor kurzem mit dem Point & Click DK angefangen und bin absolut begeistert.
Meine Frage wäre nur an Zimond ob es möglich wäre, mehrere Paralaxhintergundebenen ins programm einzubauen um solche Hintergründe zu ermöglichen (Dieses Beispiel ist aus The Whispered World):
Image
Image

Finde das wäre noch ein absolut cooles Feature... Ob soetwas nun schwer zu Implementieren ist weiß ich nicht, aber vielleicht kann sich Zimond ja mal dazu äußern...

Liebe Grüße

Scarala

DeinTroll
Experienced PaC-DK User
Posts: 561
Joined: 07 Sep 2011, 21:33
Location: In der Ortenau
Contact:

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81788Post DeinTroll
24 Oct 2014, 15:46

Ich bin zwar nich Zimond aber ich will auch mal wieder mein Senf dazu geben :mrgreen:

Man könnte die Hintergründe als Bilder einfügen. Und diese jenach Bewegung des Charakters hin und her bewegen ^^
Image

Scarala
PaC-DK Newby
Posts: 4
Joined: 23 Oct 2014, 17:02

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81789Post Scarala
24 Oct 2014, 16:22

Das stimmt natürlich, wenn auch ne menge Codearbeit...

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81790Post Zimond
24 Oct 2014, 16:31

sowas wollte ich auch vorschlagen. Ich möchte ungern die Raumdaten aufblähen mit etlichen weiteren Hintergründen. So ein Spezialfall ließe sich aber realisieren mit mittelmäßigem Aufwand.

Man nehme zb 4 Grafiken :

Para1, Para2, Para3 und Normal. Para1 ist der am weitesten hinten liegende Hintergrund. Jetzt erstellt man jeweils ein Objekt (muss die aktuelle Beta von PaC-DK sein, die alte kann so große Objekte nicht) mit je einem Hintergrund und packt sie von hinten nach vorne in den Raum. Die eigentlichen Hintergründe des Raumes läßt man quasi leer.

Jedes "Hintergrundobjekt" sollte jetzt auf Position 0 stehen.

Ok, ich seh gerade da fehlt doch noch was, nämlich das man die Raumposition in Pixel auslesen kann.. (egal ist dann nächste Beta drin als [roompx] und [roompy])

Im Loop1 Skriptteil des Raumes werden die Para Objekte dann entsprechend der Raumposition verschoben.

Code: Select all

setnum (dreiviertel ; 3 / 4)
setnum (halb ; 1 / 2)
setnum (viertel ; 1 / 4)

setnum (parax ; [roompx] * [dreiviertel])
setnum (paray ; [roompy] * [dreiviertel])
moveobj (para1 ; [parax] ; [paray] ; 0)

setnum (parax ; [roompx] * [halb])
setnum (paray ; [roompy] * [halb])
moveobj (para2 ; [parax] ; [paray] ; 0)

setnum (parax ; [roompx] * [viertel])
setnum (paray ; [roompy] * [viertel])
moveobj (para3 ; [parax] ; [paray] ; 0)
Das könnte man für jeden Raum kopieren, müsste dann nur die Namen der Objekte anpassen.
In dem Fall scrollt aus der Sicht des Spielers para1 mit einem Viertel der normalen Geschwindigkeit, Para2 mit der Hälfte und Para3 mit 3/4.

Zugegeben nicht die schönste Variante aber doch recht schnell machbar. Das Skript muss ja nur einmal definiert werden (je nach dem wieviele Paralaxhintergründe du willst und wie schnell die sich bewegen sollen und danach nur einmal für jeden Raum die Objektnamen ändern.
Image

Scarala
PaC-DK Newby
Posts: 4
Joined: 23 Oct 2014, 17:02

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81791Post Scarala
24 Oct 2014, 17:04

Gefällt mir sehr! Denn warte ich gespannt auf die nächste Beta für die Raumpixel...

DeinTroll
Experienced PaC-DK User
Posts: 561
Joined: 07 Sep 2011, 21:33
Location: In der Ortenau
Contact:

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81792Post DeinTroll
24 Oct 2014, 20:31

Ich hab das ganze mal nicht mit Roompx gemacht sondern mit den Char Koordinaten. Das ganze mit drei Hintergründen (Himmel, Berg, Mauer). Ob sich das jetzt genau so verschiebt wie es sein soll ?! Ka ich check da noch net so ganz durch welcher Hintergrund in welche richtung und wie schnell gehen muss xD Aber guckts euch ma an. Das ganze is innerhalb von 60 Min(inklusive upload) schnell, just for fun, zusammen gebastelt und bestimmt noch verbesserungs würdig, aber ich glaube man erkennt einen ansatz. Hab die Spieldatei mit adz zum importieren hochgeladen.

http://www.workraft.de/para.zip
Image

Icebaer3
An Adventure Creator
Posts: 408
Joined: 19 Dec 2012, 20:15
Location: Koblenz

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81793Post Icebaer3
24 Oct 2014, 22:00

Jo nett, ich kan mir was drunter vorstellen.
Wie würde denn der Code aussehen wenn sich der Hintergrund mit der Maus bewegt?
Also ohne Char im Game; habs nich hinbekommen.

DeinTroll
Experienced PaC-DK User
Posts: 561
Joined: 07 Sep 2011, 21:33
Location: In der Ortenau
Contact:

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81794Post DeinTroll
24 Oct 2014, 22:13

on(loop2)
{
setnum (charneux; [mousex] -250)
setnum (parax; [charneux] * 1/4)

setnum (para2x; [charneux] * 3/4)

moveobj (para2 ;[para2x] ;0 ;0 )
moveobj (para ;[parax] ;0 ;0 )
}

Sieht sogar irgendwie noch cooler aus xD

edit: Man sollte nur die Hintergründe länger machen ^^
Image

Scarala
PaC-DK Newby
Posts: 4
Joined: 23 Oct 2014, 17:02

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81795Post Scarala
25 Oct 2014, 09:21

Ich bin begeistert wie schnell hier zu dem Thema eine Lösung gefunden wurde :-)
Mit dem Code von DeinTroll kann man auch jetzt schon was Anfangen :-) Später mit dem Update wirds dann richtig Komfortabel :-)

Ich danke euch vielmals.

Icebaer3
An Adventure Creator
Posts: 408
Joined: 19 Dec 2012, 20:15
Location: Koblenz

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81796Post Icebaer3
25 Oct 2014, 12:51

Ich kanns zwar nachvollziehen, aber irgendwie klappt die Umsetzung nicht.
Ich brauch ein Tutorial dafür. Also wer Zeit dafür hat... :mrgreen:

DeinTroll
Experienced PaC-DK User
Posts: 561
Joined: 07 Sep 2011, 21:33
Location: In der Ortenau
Contact:

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81797Post DeinTroll
25 Oct 2014, 13:34

on(loop2)
{
setnum (charneux; [charx] -250) <<< Damit versuche ich die Hintergründ mittig zu kriegen. Sonst wäre der Anfang des Hintergrunds immer beim Char.
setnum (parax; [charneux] * 1/4) <<< Geschwindigkeit Hintergrund 1

setnum (para2x; [charneux] * 3/4) <<< Geschwindigkeit Hintergrund 2

moveobj (para2 ;[para2x] ;0 ;0 ) <<< Objekt para2(Hintergrund 2) bewegt sich zu der errechneten Variable [para2x]
moveobj (para ;[parax] ;0 ;0 )
}

Ich hab den mittleren Hintergrund einfach stehen lassen, indem ich ja nach links oder rechts aus dem Bild laufe, lauf ich ja dran durch.
Ich hab den Raum größer gemacht, als die Auflösung, dadurch läuft ja die Kamera mit dem Char mit(Damit man nicht aus dem Bild läuft). Das ist aber nicht notwendig, Man kann auch den Raum so groß lassen wie die eigentliche Auflösung, nur die Bilder müssen halt länger sein.

Außerdem hab ich in meinem Skript die Y Achse vernachlässigt, weil es mit eigentlich nur um das links rechts ging.

Woran hängt es denn bei dir ?
Image

Icebaer3
An Adventure Creator
Posts: 408
Joined: 19 Dec 2012, 20:15
Location: Koblenz

Re: Mehrere-Paralaxhintergund-Ebenen

Post: # 81798Post Icebaer3
25 Oct 2014, 14:24

Ach so, ja danke für die Arbeit und die Erklärung. Das habe ich im großen und ganzen schon verstanden, lediglich die Umsetzung ist für mich nicht möglich.
Wenn ich den Grund dafür kennen würde, hätte ich es kapiert. Gut ich hab mich jetzt nicht reingebissen da ich an anderen Baustellen in meinem Game arbeite.
Aber dazu kann ich sagen, ich hab mit mal das Spiel mit den Münzen geladen und versucht das 1 zu 1 umzusetzen. Es hat nicht geklappt und ich hab keine Ahnung warum?!
Seis drum, wenn der Editor fertig ist, geht Zimond ja an die ganzen Tutorials :mrgreen: :mrgreen: :mrgreen:

Aber so ein leicht wandernder Hintergrund ist schon was tolles als Idee in nem Game. Hatte mich nie getraut nach sowas zu fragen.

Post Reply