Wenn die Methode camera.translate (-x, -y) verwendet wird, werden die Sprites nicht automatisch außerhalb der Ansicht gezeichnet oder muss ich tun manuell die Sprites nicht außerhalb der Kameraansicht zu zeichnen?Wird das Sprite automatisch außerhalb der Kameraansicht in Libgdx (Android) gezeichnet?
Antwort
Wenn Sie eine Standard-Orthographic-Kamera verwenden und nichts übermäßig funky damit tun (außer Übersetzung), dann sollte es dies automatisch tun. Aber es hängt vielleicht davon ab, wie alles aufgebaut ist.
Um sicher zu sein, können Sie immer versuchen, die Leistung zu testen, wenn Sie lächerliche Zahlen von Sprites innerhalb und außerhalb des Raumes zeichnen.
Es gibt auch ScissorStack; https://github.com/libgdx/libgdx/wiki/Clipping%2C-with-the-use-of-scissorstack
Wenn Sie die Bühne verwenden, macht es das für Sie:
Von der Libgdx API Methode zeichnen Gruppen:
alle Kinder Unentschieden. applyTransform (Batch, Matrix4) sollte vor und resetTransform (Batch) nach dieser Methode aufgerufen werden, wenn die Transformation wahr ist. Wenn transform falsch ist, müssen diese Methoden nicht aufgerufen werden, Kinderpositionen werden beim Zeichnen vorübergehend um die Gruppenposition versetzt. Diese Methode verhindert, dass Kinder vollständig außerhalb des Culling-Bereichs gezeichnet werden, wenn eingestellt ist.
Also ohne die Bühne müssen Sie dies manuell tun.
Vielen Dank für Ihre Antwort ... Aber ich verwende keine Bühne und ich zeichne das Sprite direkt auf den Bildschirm. –
Es wird gezeichnet, aber der GPU-Overhead wird niedriger sein, da der Fragment-Shader für dieses Sprite nicht auf allen Fragmenten ausgeführt werden muss. CPU Overhead wird gleich sein.
Ob es sinnvoll ist, Sprites manuell zu prüfen und außerhalb des Kamerasteins zu löschen, hängt davon ab, wie viele Sie gleichzeitig ausführen können. Wenn Sie jedes einzelne Sprite manuell überprüfen müssen, ist es wahrscheinlich nicht wert, weil Sie ungefähr so viel CPU-Overhead ausgeben werden, wie Sie es vom Bildschirm ziehen würden. Aber wenn Sie Gruppen von ihnen schnell überprüfen können, dann kann es sich lohnen.
- 1. libGdx: Sprite wird nicht gezeichnet, wenn es eine Bühne gibt
- 2. Libgdx - Einstellung Sprite Farbe
- 3. Libgdx orthographisch Kameraansicht Größe (mit Box2D)
- 4. Android Dev: Android-Layout wird nicht in der Zeit gezeichnet
- 5. LIBGDX: Wie kann man eine Kameraansicht horizontal/vertikal spiegeln?
- 6. Wie skaliert man den Sprite in libgdx?
- 7. Wie verändere ich ein Sprite in Libgdx?
- 8. cocos2d-xna: sprite wird nicht gezeichnet, wenn die Instanz einer Klasse verwendet wird, die von Sprite geerbt wurde
- 9. Scenekit-Objekt, das in der Mitte der Kameraansicht bleibt (Swift)
- 10. Android AndEngine: sprite.detachSelf() entfernt nicht das Sprite
- 11. Sprite ist nicht mit einem Körper in libgdx
- 12. Wird SetWindowPos sofort gezeichnet?
- 13. LibGDX in Android-Aktivität
- 14. Papervision3D; Kinderobjekte in der Kameraansicht drehen
- 15. NativeScript: benutzerdefinierte Kameraansicht
- 16. Android Emulator startet das LibGDX-Projekt nicht?
- 17. Android Canvas hat den Pfad nicht gezeichnet, wenn der Pfad außerhalb des Sichtbereichs steht
- 18. Warum wird ein Rechteck teilweise außerhalb der Ansicht als Dreieck gezeichnet?
- 19. Wie fügen Sie ein Textfeld zu einem Jpanel hinzu, das auf einen Jframe gezeichnet wird?
- 20. LibGDX: Wie scrollt das ScrollPane automatisch nach unten?
- 21. Vuforia-Unity, Wie man bewegte Objekte bewegt, wenn der Marker außerhalb der Kameraansicht liegt?
- 22. Android-Shared-Element-Übergang: Helden-Ansicht wird vor anderen gezeichnet
- 23. Cordova Kameraansicht
- 24. Split-Screen in LibGDX
- 25. Android: Wie wird eine benutzerdefinierte Ansicht teilweise neu gezeichnet?
- 26. libgdx: Eine Textur beim Zeichnen mit Sprite-Batch drehen
- 27. Benutzerdefiniertes Flex/ActionScript UIComponent wird mehrmals während einer Größenänderung gezeichnet
- 28. XNA Sprite Sortiermodus
- 29. JComponent wird nicht in JPanel gezeichnet
- 30. Libgdx - ADs für Android
Danke .. Aber warum bekommt das eine negative Stimme? –