Skip to content
/ raylua Public

Cross-Platform, Modern, And updated LuaJIT bindings for raylib library.

License

Notifications You must be signed in to change notification settings

Shoozza/raylua

Repository files navigation

Cross-Platform, Modern, Handwritten, Updated LuaJIT bindings for raylib library.

Contains

  1. raylib
  2. RLGL
  3. raylib easings (easings.h)
  4. rlights (raylib.lights)
  5. raymath
  6. physac
  7. raygui

NOTE: You need to build shared lib of physac and raygui.

Supports

  1. Microsoft Windows (32-bit and 64-bit)
  2. Mac (64-bit)
  3. Linux (64-bit)
  4. Android (ARM64)

Example

Link raylib.lua (Via require or dofile), Then start coding!

local rl = require("raylib")

local screenWidth = 800
local screenHeight = 450

rl.InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window")
rl.SetTargetFPS(60)

while not rl.WindowShouldClose() do
  rl.BeginDrawing()
  rl.ClearBackground(rl.RAYWHITE)
  rl.DrawText("Congrats! You created your first window!", 190, 200, 20, rl.LIGHTGRAY)
  rl.EndDrawing()
end

rl.CloseWindow()

For examples that binded see here

All contained functions and variables called from rl namespace/table.

NOTES

  1. This is a direct bindings of the original C version, It implements the same content.
  2. Hacks and fallbacks of raylib 2 implemented from original C version, raylib 2 functions will still works if you use raylib 3.

And i didn't copy-pasted from any gist, Even that gist made by Alexander Matz, All bindings were written by me.

Compatibility

See compatibility.md for info about this.

Autocompletion

I finally did autocompletion for raylib Lua/LuaJIT bindings to use in ZeroBrane Studio,See here about that and how to use it.

Using this on cherry

raylua also available as package for cherry, And it's easy to install and setup!

cherry new D:\cherry-raylua-game
cherry add Rabios/raylua D:\cherry-raylua-game

Then edit main file of package in directory D:\cherry-raylua-game and require raylib with writing game code!

Running this on PUC-RIO Lua (Not LuaJIT)

If you use PUC-RIO Lua (Not LuaJIT), You have to install luaffi rock with luarocks!

Using luarocks install --server=https://luarocks.org/dev luaffi command.

However, I don't guarantee that it works same as LuaJIT FFI.

TSnake41's version

I did custom version using TSnake41's raylib-lua, Currently works only on 64-bit versions of Microsoft Windows and 64-bit versions of LuaJIT.

To get it see tsnake41-raylib-lua folder.

Special thanks

  1. Ramon Santamaria (@raysan5), Who created raylib.
  2. Astie Teddy (@TSnake41), Cause my bindings inspired by his bindings.
  3. Alexander Matz (@alexander-matz), Cause his gist was the first reason to write my own bindings from zero.

License

See LICENSE.txt for bindings license and LICENSES.txt for third party licenses.

About

Cross-Platform, Modern, And updated LuaJIT bindings for raylib library.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages