Node.js bindings for raylib, a simple and easy-to-use library to enjoy videogames programming (www.raylib.com).
- Flappy - Flappy Bird clone by @arthurmassanes
- Check out the examples folder
-
Create a new Node.js project:
mkdir myexample cd myexample npm init
-
Add
raylib
to your package.json dependencies:npm install raylib --save
-
Create a
index.js
JavaScript file, likecore_basic_window.js
:const r = require('raylib') const screenWidth = 800 const screenHeight = 450 r.InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window") r.SetTargetFPS(60) while (!r.WindowShouldClose()) { r.BeginDrawing(); r.ClearBackground(r.RAYWHITE) r.DrawText("Congrats! You created your first window!", 190, 200, 20, r.LIGHTGRAY) r.EndDrawing() } r.CloseWindow() // Close window and OpenGL context
-
Run
index.js
through Node.js:node index.js
Check for more examples organized by raylib modules.
The project also comes with a node-raylib
command-line tool to run node-raylib
files directly:
# Unix
./node-raylib core_basic_window.js
# Windows
node-raylib.exe core_basic_window.js
The CLI can be installed with the packaged releases, or globally through npm
:
npm install raylib --global
node-raylib --version
The following are a few notes and resources when developing node-raylib
...
node-addon-api is used to construct the bindings. Feel free to read through src/addons.cc
for an understanding on how methods are defined. A lot is missing from the project, so feel free to get involved in the issue queue and submit pull requests. Run the following to run tests...
git clone https://github.com/RobLoach/node-raylib.git
cd node-raylib
npm i
To rebuild index.d.ts
, run the following commands:
npm i -g dts-gen yargs RobLoach/node-raylib
dts-gen -m raylib -f index.d.ts -o
To build the packaged releases, use the following command:
npm run pkg
node-raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check LICENSE for further details.
Copyright (c) 2019 Rob Loach (@RobLoach)