Skip to content
 
 

Repository files navigation

node-raylib

Node.js bindings for raylib, a simple and easy-to-use library to enjoy videogames programming (www.raylib.com).

Dependencies

Usage

  1. Add robloach/node-raylib to your package.json dependencies:

    npm init
    npm install raylib --save
  2. Create a JavaScript file, like core_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
  3. Run it through Node.js:

    node core_basic_window.js

Check for more examples organized by raylib modules.

CLI

The project also comes with a node-raylib command-line tool to run node-raylib files directly:

# Linux
./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

Development

The following are a few notes and resources when developing node-raylib...

Node.js Bindings

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...

npm it

TypeScript Definitions

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

Package

To build the packaged releases, use the following command:

npm run pkg

License

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) 2018 Rob Loach (@RobLoach)

About

Node.js bindings for Raylib

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages