Skip to content

Renderer

ZSolarDev edited this page Jan 15, 2025 · 3 revisions


LunarRenderer

The LunarRenderer is used to render LunarBases and LunarRenderLayers.

Functions:

  • add(base:LunarBase): adds a Base to this renderer for drawing.
  • remove(base:LunarBase): removes a Base added to this renderer.
  • addLayer(layer:LunarRenderLayer): adds a Layer to this renderer for drawing all Bases it contains.
  • removeLayer(layer:LunarRenderLayer): removes a Layer added to this renderer.
  • draw(): draws all Layers & Bases added on this Renderer.

Variables:

  • layers:Array: The array of Layers in this renderer.
  • members:Array: The array of Bases in this renderer.

Here is how to use it:

  • Making/Using a Renderer:
    // Making a renderer
    var renderer = new LunarRenderer({ // Render mode(), Transform properties(x, y, width, height)
      	x: 0,
      	y: 0,
      	width: FlxG.width,
      	height: FlxG.height
    });
    add(renderer);
    
    // Making a base to add onto the renderer
    var base1:LunarBase = new LunarBase(10, 10); // x, y
    base1.shape = new LunarRect(0xFFAD0A0A, 40, 40); // color, width, height
    renderer.add(base1);
    
    // Making a Render Layer
    var layer1 = new LunarRenderLayer(); // No parameters currently
    renderer.addLayer(layer1);
    
    // Adding a shape on that layer
    var layeredBase:LunarBase = new LunarBase(10, 10); // x, y
    layeredBase.shape = new LunarRect(0xFFAD0A0A, 40, 40); // color, width, height
    layer1.add(layeredBase);
    
    // Layer id's
    var layer2 = new LunarRenderLayer();
    renderer.addLayer(layer2);
    layer1.id = 2; // Layer 1 will render over layer 2.
    layer2.id = -3;
    
    // Base id's
    var base2:LunarBase = new LunarBase(10, 10); // x, y
    base2.shape = new LunarRect(0xFFAD0A0A, 40, 40); // color, width, height
    renderer.add(base2);
    base2.id = 4; // Base 1 will render over base 2.
    base1.id = 2;
  • Using the Renderer Backend:
    var renderer = new LunarRenderer({
      	x: 0,
      	y: 0,
      	width: FlxG.width,
      	height: FlxG.height
    });
    add(renderer);
    
    // Adding a base on the renderer
    var base1:LunarBase = new LunarBase(10, 10); // x, y
    base1.shape = new LunarRect(0xFFAD0A0A, 40, 40); // color, width, height
    renderer.add(base1);
    
    /*
      The meshFactory is a FlxCamera.
      This means you can modify it as a FlxCamera (Filters(Shaders basically), BG Color, etc.)
    */
    renderer.meshFactory.bgColor = 0xFF00FF00;

When using the Flixel Rendering Backend, you can also manually call drawFrame, giving it an array of Layers and Bases to draw.





LunarRenderLayer

The LunarRenderLayer is used to render LunarBases in this layer.

Functions:

  • add(base:LunarBase): adds a Base to this layer.
  • remove(base:LunarBase): removes a Base added to this layer.
  • draw(): draws all Layers & Bases added on this Renderer.

Variables:

  • members:Array: The array of Bases in this layer.
  • id:Int: Used to modify which layer should be rendered in the LunarRenderer this Layer is added in.

Welcome, Welcome. Read up, and have a good day!

Clone this wiki locally