Dart bindings for Raylib!

Overview

Raylib-Dart

Dart bindings for raylib 3.7.0, a simple and easy-to-use library to learn videogames programming www.raylib.com

Note

  • 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:

    • Logging
    • File management (expect dropped file APIs)
    • MemAlloc and MemFree

Usage

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();
}

Todo

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

For discussions

You might also like...

Dart-com-Shelf - Web server básico feito com dart e shelf, configurações de rotas e conexão com mysql.

A server app built using Shelf, configured to enable running with Docker. This sample code handles HTTP GET requests to / and /echo/message Running

Jan 3, 2022

Rock-Paper-Scissor-Game-Using-Dart - This is a repository of Rock Paper Scissor Game which I developed while learning Dart.

Rock-Paper-Scissor-Game-Using-Dart This is a repository of Rock Paper Scissor Game which I developed while learning Dart. The main.dart file consist o

Jan 4, 2022

Flutter Navigation - all types of navigation in flutter run main.tabBar.dart to see tabBar, and run main.dart to see the otheres

pop_up_bar A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Jan 1, 2022

Spider - A small dart library to generate Assets dart code from assets folder.

Spider - A small dart library to generate Assets dart code from assets folder.

Spider A small dart library to generate Assets dart code from assets folder. It generates dart class with static const variables in it which can be us

Nov 8, 2022

Tello-Dart - A testing ground for the Tello drone's socket API in dart

This packages provides a Dart interface to Ryze Tello drones. Getting started Ma

Jul 27, 2022

🎬 A movie catalog app for both Android & IOS ~ Flutter.io project in Dart | Dart, Bloc, Movies

Movie Catalog App 🎬 Browse through movies from the YIFY api Getting Started For help getting started with Flutter, view our online documentation. Tod

Nov 21, 2022

Socketio dart server and client - Full Socket.io implementation using Dart Lang

Socketio dart server and client - Full Socket.io implementation using Dart Lang

Getting Started Step 1: Run dart_server.dart Step 2: Android Emulator has proble

Jan 23, 2022

Dart wrapper via `dart:js` for webusb

Dart wrapper via dart:js for https://wicg.github.io/webusb/ Features canUseUsb g

Jan 25, 2022

Flutter Dart-Projesi - Meditation app developed using Flutter and Dart

Flutter Dart-Projesi - Meditation app developed using Flutter and Dart

Müzik Çalar Meditasyon Uygulaması Medi Flutter ve Dart ile programlanmış bir med

Jan 29, 2022
Owner
Ryuzaki
Ryuzaki
Android bindings plugin for Flutter.

Flutter Android Bindings This is a Flutter plugin for using Android's numerous platform-specific APIs in Flutter apps. Screenshot Prerequisites Dart 2

D.R.Y. Dart 133 Dec 29, 2022
Flutter bindings for libsodium

flutter_sodium With flutter_sodium you get access to the modern, easy-to-use libsodium crypto library in your Flutter apps. One set of crypto APIs sup

First Floor Software 99 Dec 12, 2022
Mysql.dart - MySQL client for Dart written in Dart

Native MySQL client written in Dart for Dart See example directory for examples

null 48 Dec 29, 2022
Docker images for the Dart programming language (https://dart.dev)

dart-docker This is the Git repo of the Docker "Official Images" for the Dart programming language. See the Docker Hub page for a full description on

Dart 49 Dec 14, 2022
A most easily usable Duolingo API wrapper in Dart. Duolingo4D is an open-sourced Dart library.

A most easily usable Duolingo API wrapper in Dart! 1. About Duolingo4D Duolingo4D is an open-sourced Dart library. With Duolingo4D, you can easily int

Kato Shinya 18 Oct 17, 2022
dna, dart native access. A lightweight dart to native super channel plugin

dna, dart native access. A lightweight dart to native super channel plugin, You can use it to invoke any native code directly in contextual and chained dart code.

Assuner 14 Jul 11, 2022
Dart package responsible to provide the basic resources to Lambda Functions with Clean Dart

AWS Lambda Core This package is responsible to provide the basic resources to all services; Usage pubspec.yaml dependencies: aws_lambda_core: <laste

David Araujo 1 Dec 2, 2021
A Dart client for the NATS messaging system. Design to use with Dart and Flutter.

Dart-NATS A Dart client for the NATS messaging system. Design to use with Dart and flutter. Flutter Web Support by WebSocket client.connect(Uri.parse(

Chart Chongcharoen 32 Nov 18, 2022
GitHub Action that uses the Dart Package Analyzer to compute the Pub score of Dart/Flutter packages

Dart/Flutter package analyzer This action uses the pana (Package ANAlysis) package to compute the score that your Dart or Flutter package will have on

Axel Ogereau-Peltier 45 Dec 29, 2022