du_render_script_library#
A library to build renderscript in boards without writting it as a full string
The goal of that lib is to make RenderScript easier to write and read when written un control units and not directly in screens.
Project status#
This project is currently in developpement and not finished yet.
I'm currently looking for feedbacks and ideas to improve it and fix some limitations like how to render a function or loop or condition in the render script.
Discord Server#
You can join me on Discord for help or suggestions or requests by following that link : https://discord.gg/qkdjyqDZQZ
How to use it#
Paste all the content of the library (prefer the minified version) at the start of your script in a control unit in game and then you can use it like this:
local script = setmetatable({},RenderScript)
local MyFirstLayer = script:createLayer()
script:addBox(MyFirstLayer,0,0,100,100)
if not script:isTooLong() then
script:sendToScreen(screen)
else
system.print("WARNING: Script too long!! Length is actualy " .. script:len() .. " / " .. script:getMaxSize())
end
Code before#
Code was all formated as a string and was hard to read, write and debug
local script = [[
local MyFirstLayer = createLayer()
addBox(MyFirstLayer, 0, 0, 100, 100)
]]
screen.setRenderScript(script)
Addition to the default render script#
This library add some functions to the default render script:
Third Party libraries support#
use(libraryName): Use a third party library in the renderscript
libraryName:stringThe name of the library to use, it will also be used as the variable name to access it in the renderScript
useAtlas(): Use the atlas library in the renderscript
useJSON(): Use the JSON (dkjson) library in the renderscript
useRSLib(): Use the RSLib library in the renderscript
RenderScript utilities functions#
getMaxSize(): Get the maximum size of the render script
isTooLong(): Check if the render script is too long
sendToScreen(screen): Send the render script to a screen
Others#
insertCodeLine(code): Insert a line of code in the render script