-
Notifications
You must be signed in to change notification settings - Fork 0
Renderer
ZSolarDev edited this page Jan 15, 2025
·
3 revisions
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.
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.