Mehrere-Paralaxhintergund-Ebenen
Mehrere-Paralaxhintergund-Ebenen
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):
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
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):
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
-
- Experienced PaC-DK User
- Posts: 561
- Joined: 07 Sep 2011, 21:33
- Location: In der Ortenau
- Contact:
Re: Mehrere-Paralaxhintergund-Ebenen
Ich bin zwar nich Zimond aber ich will auch mal wieder mein Senf dazu geben
Man könnte die Hintergründe als Bilder einfügen. Und diese jenach Bewegung des Charakters hin und her bewegen ^^
Man könnte die Hintergründe als Bilder einfügen. Und diese jenach Bewegung des Charakters hin und her bewegen ^^
Re: Mehrere-Paralaxhintergund-Ebenen
Das stimmt natürlich, wenn auch ne menge Codearbeit...
Re: Mehrere-Paralaxhintergund-Ebenen
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.
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.
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)
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.
Re: Mehrere-Paralaxhintergund-Ebenen
Gefällt mir sehr! Denn warte ich gespannt auf die nächste Beta für die Raumpixel...
-
- Experienced PaC-DK User
- Posts: 561
- Joined: 07 Sep 2011, 21:33
- Location: In der Ortenau
- Contact:
Re: Mehrere-Paralaxhintergund-Ebenen
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
http://www.workraft.de/para.zip
Re: Mehrere-Paralaxhintergund-Ebenen
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.
Wie würde denn der Code aussehen wenn sich der Hintergrund mit der Maus bewegt?
Also ohne Char im Game; habs nich hinbekommen.
-
- Experienced PaC-DK User
- Posts: 561
- Joined: 07 Sep 2011, 21:33
- Location: In der Ortenau
- Contact:
Re: Mehrere-Paralaxhintergund-Ebenen
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 ^^
{
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 ^^
Re: Mehrere-Paralaxhintergund-Ebenen
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.
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.
Re: Mehrere-Paralaxhintergund-Ebenen
Ich kanns zwar nachvollziehen, aber irgendwie klappt die Umsetzung nicht.
Ich brauch ein Tutorial dafür. Also wer Zeit dafür hat...
Ich brauch ein Tutorial dafür. Also wer Zeit dafür hat...
-
- Experienced PaC-DK User
- Posts: 561
- Joined: 07 Sep 2011, 21:33
- Location: In der Ortenau
- Contact:
Re: Mehrere-Paralaxhintergund-Ebenen
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 ?
{
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 ?
Re: Mehrere-Paralaxhintergund-Ebenen
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
Aber so ein leicht wandernder Hintergrund ist schon was tolles als Idee in nem Game. Hatte mich nie getraut nach sowas zu fragen.
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
Aber so ein leicht wandernder Hintergrund ist schon was tolles als Idee in nem Game. Hatte mich nie getraut nach sowas zu fragen.