2016-07-31 23 views
0

Wie kann ich eine schwarze Farbe auf den gesamten Bildschirm einstellen, ausgenommen einen Shaprenderer-Kreis? Der Kreis ist im Grunde meine Spielwelt, alles was es verlässt sollte nicht sichtbar sein. Gibt es eine Möglichkeit, eine umgekehrte Kreis-Pixmap zu erstellen (z. B. ein Kreis, aber umgekehrt), um alles außer dem Kreisspielbereich zu überlagern? Oder vielleicht eine Möglichkeit, den Bildschirm zu löschen, ausgenommen Teile? Vielen Dank!Libgdx | Stellen Sie schwarze Farbe auf alles außerhalb des Kreises ein

+0

Warum nicht nur nichts als den Kreis rendern? –

+0

@ m.antkowicz Ich bin mir nicht sicher, ob du die Frage verstanden hast. Der Kreis ist meine Spielwelt, wenn ein Objekt geht, will ich verschwinden. Geht der Spieler halb aus dem Spielbereich (Kreis), dann möchte ich jedoch möglichst viel von dem Spieler, der draußen ist, verschwinden lassen. Ich dachte darüber nach, ein schwarzes Bild mit einem Loch darin zu erstellen und es dann über allem zu zeigen, aber das würde nicht gut skalieren, denke ich nicht. – Wyatt

Antwort

0

Sie könnten versuchen, den Ansatz, den Sie in den Kommentaren erwähnt haben. Verwenden Sie ein schwarzes Bild mit einem kreisförmigen Loch darin. Dann haben Sie jeweils eine andere Kamera zugewiesen, ähnlich wie Sie ein HUD in libgdx einrichten würden.

0

Vielleicht möchten Sie einen Blick auf Shader werfen, dieser Ansatz ist sehr flexibel und Sie können sogar steuern, wie schnell der Übergang ist. Nur die Grundlagen von GLSL sollten ausreichen.

https://www.youtube.com/watch?v=caQZKeAYgD8 Hier ist ein anständiges Tutorial.