Fabian
- Forum-Beiträge: 144
01.02.2014, 23:05:59 via Website
01.02.2014 23:05:59 via Website
Hey liebe Community,
derzeit bin ich dabei Doodle Jump nach zu programmieren. Ich nutze dafür die LibGDX Engine und bin auch vollkommen zufrieden damit ;)
Derzeit bin ich so weit, dass die Spielfigur wie im echten Doodle Jump mit der exakt gleichen Sprungphysik auf dem Boden springt.
Dann habe ich testweise 2 Plattformen hinzugefügt, um die Kollision zu testen. Mit der overlaps() Methode vom Rectangle geht das auch ziemlich gut.
Heißt, er hüpft auf die ersten beiden Plattformen und bleibt dann auf der obersten am hüpfen Sieht also genauso aus, wie beim Original mit nur 2 Plattformen. Jetzt möchte ich natürlich mehrere hinzufügen, komme aber bei der Camera nicht weiter. Derzeit benutze ich ein Rectangle um den Viewport festzulegen und gebe der Camera dann die Width und Height Größen. Mit folgender Methode habe ich dann versucht, die Camera Y Koordinaten zu erhöhen um somit den Viewport nach oben zu verschieben:
damit die Figur nicht weiter als die Hälfte des Bildschirms nach oben springt diese Methode:
Leider verschiebt sich die Camera nach jedem Sprung, so, dass die Spielfigur irgendwann im Boden versinkt
Ich bräuchte mal einen Tipp, wie ich das mit der Camera machen könnte, mir fällt leider nichts mehr ein und ich frage mich, wie das im Original gehandhabt wird
Vielleicht kann mir ja jemand einen Tipp geben
grüße Fabian!
derzeit bin ich dabei Doodle Jump nach zu programmieren. Ich nutze dafür die LibGDX Engine und bin auch vollkommen zufrieden damit ;)
Derzeit bin ich so weit, dass die Spielfigur wie im echten Doodle Jump mit der exakt gleichen Sprungphysik auf dem Boden springt.
Dann habe ich testweise 2 Plattformen hinzugefügt, um die Kollision zu testen. Mit der overlaps() Methode vom Rectangle geht das auch ziemlich gut.
Heißt, er hüpft auf die ersten beiden Plattformen und bleibt dann auf der obersten am hüpfen Sieht also genauso aus, wie beim Original mit nur 2 Plattformen. Jetzt möchte ich natürlich mehrere hinzufügen, komme aber bei der Camera nicht weiter. Derzeit benutze ich ein Rectangle um den Viewport festzulegen und gebe der Camera dann die Width und Height Größen. Mit folgender Methode habe ich dann versucht, die Camera Y Koordinaten zu erhöhen um somit den Viewport nach oben zu verschieben:
1private void updateCamera(){
2
3 if(rectangle_doodler.getY() >= (rectangle_viewport.getHeight() / 2)){ // Prüfen ob die Figur an der Hälfte des Bildschirms angekommen ist.
4 camera.translate(0, 3); // Die Camera um 3 Pixel nach oben verschieben.
5 camera.update(); // Camera aktuelle Koordinaten geben
6 }
7 }
2
3 if(rectangle_doodler.getY() >= (rectangle_viewport.getHeight() / 2)){ // Prüfen ob die Figur an der Hälfte des Bildschirms angekommen ist.
4 camera.translate(0, 3); // Die Camera um 3 Pixel nach oben verschieben.
5 camera.update(); // Camera aktuelle Koordinaten geben
6 }
7 }
damit die Figur nicht weiter als die Hälfte des Bildschirms nach oben springt diese Methode:
1private void disablejumpOverYHalf(){
2 if(rectangle_doodler.getY() > rectangle_viewport.getHeight() / 2){
3 rectangle_doodler.y = rectangle_viewport.getHeight() / 2;
4 }
5 }
2 if(rectangle_doodler.getY() > rectangle_viewport.getHeight() / 2){
3 rectangle_doodler.y = rectangle_viewport.getHeight() / 2;
4 }
5 }
Leider verschiebt sich die Camera nach jedem Sprung, so, dass die Spielfigur irgendwann im Boden versinkt
Ich bräuchte mal einen Tipp, wie ich das mit der Camera machen könnte, mir fällt leider nichts mehr ein und ich frage mich, wie das im Original gehandhabt wird
Vielleicht kann mir ja jemand einen Tipp geben
grüße Fabian!
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.