-
Notifications
You must be signed in to change notification settings - Fork 1
Rendering
miguel edited this page Jul 11, 2018
·
15 revisions
Rendering is a crucial part in the brainGDX framework. libgdx already provides commands to render textures, sprites, particles and animations on the screen. The problem is when it comes to more complex examples:'
- how to render a village with 25 different NPCs without writing 25 Java classes?
- how to change the appearance of game objects dynamically?
- how to disable rendering for a particular game object?
- how to easily add debug rendering for game objects?
The solutions are so called Renderer
implementations. A Renderer
describes how a game object should get rendered:
public class MyRenderer implements GameObjectRenderer {
@Override
public void init() {
// is called when the renderer gets attached
}
@Override
public void render(GameObject object, Batch batch, float delta) {
// is called when the object should get rendered
}
}
brainGDX already comes with various predefined renderers which you can use to describe the render behavior for your entities:
- QuadRenderer renders a quad.
- CircleRenderer renders a circle.
- SpriteRenderer renders a defined sprite.
- AnimationRenderer renders a defined animation.
- ParticleRenderer renders a particle effect onto the given renderer (decorator).
We need to register a renderer in order to display game objects on the screen:
// Retrieve the renderManager instance
RenderManager renderManager = context.getRenderManager();
// Registering a new renderer for game objects of type '1'
renderManager.register(1, new SpriteRenderer(Assets.Textures.PLAYER));
When running again you should see a red square on the screen.
To learn how to use the renderers, especially how to add actual game objects to your game continue with the next chapter.