Dart bindings for raylib 4.0.0, a simple and easy-to-use library to learn videogames programming www.raylib.com
This project is still work in progress and a lot of APIs from raylib are not yet exposed correctly
Right now it only supports Windows and Linux (in theory Mac should also work perfectly fine).
This package uses a custom fork of raylib added as submodule under vendors. So stock raylib binaries might not work.
Some APIs from raylib are not exposed because I feel that dart already has native libraries to handle such things. For example:
For a full list exposed APIs, check the Cheatsheet
A simple usage example:
import 'package:raylib_dart/raylib_dart.dart';
int main() {
// Might be a different path depending on your platform.
final raylibPath = path.join(
Directory.current.path, 'vendors/raylib/build/raylib/Release/raylib.dll');
final raylib = Raylib(raylibPath);
final core = raylib.core;
core.initWindow(1280, 720, 'Hello Raylib!');
core.targetFPS = 60;
while (!core.shouldWindowClose) {
core.beginDrawing();
core.clearBackground(core.colors.black);
core.endDrawing();
}
core.closeWindow();
}
Add idiomatic wrappers for all the auto-generated dart bindings.
(In progress) Add APIs to create native raylib structs (like Vector2, Color, Vector3) from dart. See structs example from dart ffi.
Figure out best way to distribute platform specific raylib binaries with this package. See sqflite for reference.
Get all the examples from raylib working with this package.
Add build instructions for the forked version of raylib.
Add instructions for development and contribution to this project.
Use the Discussions tab
Or join my Discord