All Projects → Rabios → raylua

Rabios / raylua

Licence: MIT license
Cross-Platform, Modern, And updated LuaJIT bindings for raylib library.

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to raylua

raylib-lua
A modern LuaJIT binding for Raylib (also available at https://gitlab.com/TSnake41/raylib-lua)
Stars: ✭ 47 (-38.96%)
Mutual labels:  easings, raylib, luajit, luajit-ffi-bindings, raylib-lua, physac, rlgl, raymath
tbag
Tea-bag is Third party extension utility project
Stars: ✭ 13 (-83.12%)
Mutual labels:  raylib, luajit
raylib-nelua
Raylib wrapper to nelua language
Stars: ✭ 27 (-64.94%)
Mutual labels:  raylib
Vue Scrollto
Adds a directive that listens for click events and scrolls to elements.
Stars: ✭ 1,859 (+2314.29%)
Mutual labels:  easings
raylib-odin
Odin bindings for the raylib gamedev library
Stars: ✭ 29 (-62.34%)
Mutual labels:  raylib
nelua-game2048
Clone of the 2048 game in Nelua using Raylib
Stars: ✭ 16 (-79.22%)
Mutual labels:  raylib
tinycoffee
tiny coffee is a framework to develop simple 2d games with opengl 3
Stars: ✭ 61 (-20.78%)
Mutual labels:  luajit
luacc
Lua Code Combine
Stars: ✭ 36 (-53.25%)
Mutual labels:  luajit
ruck
🧬 Modularised Evolutionary Algorithms For Python with Optional JIT and Multiprocessing (Ray) support. Inspired by PyTorch Lightning
Stars: ✭ 50 (-35.06%)
Mutual labels:  raylib
svelte-slidy
📸 Sliding action script
Stars: ✭ 211 (+174.03%)
Mutual labels:  easings
Raylib
A simple and easy-to-use library to enjoy videogames programming
Stars: ✭ 8,169 (+10509.09%)
Mutual labels:  raylib
awesome-raylib
Curated list of awesome stuff for raylib.
Stars: ✭ 208 (+170.13%)
Mutual labels:  raylib
nginx-lua
Nginx 1.19+ with LUA support based on Alpine Linux, Amazon Linux, Debian, Fedora and Ubuntu.
Stars: ✭ 112 (+45.45%)
Mutual labels:  luajit
raylib-cpp-starter
A portable, automated template for raylib projects with C++ bindings
Stars: ✭ 32 (-58.44%)
Mutual labels:  raylib
rPBR
Physically based rendering (PBR) for raylib
Stars: ✭ 72 (-6.49%)
Mutual labels:  raylib
cl-raylib
Common Lisp binding of raylib
Stars: ✭ 72 (-6.49%)
Mutual labels:  raylib
FNode
Tool based in nodes to build GLSL shaders without any programming knowledge written in C using OpenGL and GLFW.
Stars: ✭ 81 (+5.19%)
Mutual labels:  raylib
lua sort
Lua pure sort algorithm based on lib_table.c (from LuaJIT 2.1.0)
Stars: ✭ 21 (-72.73%)
Mutual labels:  luajit
strict
Check for use of undeclared variables
Stars: ✭ 32 (-58.44%)
Mutual labels:  luajit
raster-master
Raster Master Sprite/Icon/Map editor for Windows 10/11 that generates RayLib code / Put image and map code for Open Watcom, gcc, AmigaBASIC, Amiga C, Amiga Pascal ,QuickBasic, QB64, Quick C, Turbo Pascal, freepascal, Turbo C, Turbo Basic, Power Basic, FreeBASIC, GWBASIC, BASICA, PC-BASIC,, DOS XLIB LBM/PBM
Stars: ✭ 40 (-48.05%)
Mutual labels:  raylib

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 is 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 and installing this on LPM

raylua is also available as a package for LPM. To setup, install, and run it just use this command:

lpm install raylua

and to run:

lpm jitrun main.lua

Replace main.lua with your main file.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].