Ich bin zwei Körper in Box2d erstellt, sie sind: Player und Platform;Unendliche vertikale Welt
Ich wollte ein Spiel wie Doodle Jump erstellen, aber ich weiß nicht, wie man "unendliche Welt mit erzeugenden Plattformen" erstellt;
Es ist mein Code, wo ich Array erschaffe:
buckets = new Array<Bucket>();
for(int i=1;i<BUCKET_COUNT;i++){
buckets.add(new Bucket(W/2,BUCKET_MARGIN*i, world));
}
Und dieser Code, wo ich bin "Trying" Position jeder Plattform zu ändern, wenn die Kameraposition ändern ist:
for(Bucket bucket : buckets){
if(cam.position.y - (cam.viewportHeight/2) > bucket.getBody().getPosition().y + 22/PPM){
bucket.repos(W/2,bucket.getBody().getPosition().y + BUCKET_MARGIN);
}
}
Es funktioniert! Aber es ändert letzten Plattform Position zu sehr weit unten:
Spiele dieses Typs simulieren nur unendlich. Bewegen Sie einfach alle Ihre Plattformen und halten Sie Ihren Charakter auf der gleichen vertikalen Position –
Sie müssen Box2D nicht für einen Doodle-Jump-Klon verwenden, eigentlich würde es nur komplizierter machen, ohne Grund. Glücklicherweise gibt es bereits einen Doodle-Jump-Klon, der mit libgdx erstellt wurde, komplett mit Quellcode, der eigentlich von den libgdx-Core-Contributors erstellt wurde. Er heißt Super Jumper https://github.com/libgdx/libgdx-demo-superjumper – Lestat