mirror of
https://github.com/Starpelly/raylib-beef.git
synced 2025-03-14 21:06:58 +01:00
Autogenerated Beef bindings for raylib
* Upgrade parser to 5.5 * Added new compiled libraries Also I changed the source for the example project to explicitly be the version in the repo instead of a globally installed one * Added new wasm lib * New linux libs * Update submodule |
||
---|---|---|
.idea/.idea.raylib-beef/.idea | ||
generator | ||
img | ||
raylib-api@9903826e3e | ||
raylib-beef | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
raylib-beef.sln | ||
README.md |
raylib-beef
BeefLang bindings for Raylib 5.0.
Example
using System;
using RaylibBeef;
using static RaylibBeef.Raylib;
namespace example;
class Program
{
public static int Main(String[] args)
{
InitWindow(800, 600, scope $"Raylib Beef {RAYLIB_VERSION_MAJOR}.{RAYLIB_VERSION_MINOR}.{RAYLIB_VERSION_PATCH}");
InitAudioDevice();
let beefMain = Color(165, 47, 78, 255);
let beefOutline = Color(243, 157, 157, 255);
while (!WindowShouldClose())
{
BeginDrawing();
ClearBackground(RAYWHITE);
DrawRectangle(GetScreenWidth() / 2 - 128, GetScreenHeight() / 2 - 128, 256, 256, beefOutline);
DrawRectangle(GetScreenWidth() / 2 - 112, GetScreenHeight() / 2 - 112, 224, 224, beefMain);
DrawText("raylib", GetScreenWidth() / 2 - 44, GetScreenHeight() / 2, 50, beefOutline);
DrawText("beef", GetScreenWidth() / 2 - 62, GetScreenHeight() / 2 + 46, 50, beefOutline);
DrawRectangle(GetScreenWidth() / 2 + 54, GetScreenHeight() / 2 + 54, 42, 42, beefOutline);
DrawRectangle(GetScreenWidth() / 2 + 62, GetScreenHeight() / 2 + 62, 26, 26, RAYWHITE);
DrawCircle(GetMouseX(), GetMouseY(), 20, beefOutline);
DrawCircle(GetMouseX(), GetMouseY(), 8, beefMain);
DrawFPS(20, 20);
EndDrawing();
}
CloseAudioDevice();
CloseWindow();
return 0;
}
}
Quick Start (using Beef IDE)
- Clone this repository to wherever you want
- Right-click on your workspace and select Add Existing Project and select the folder where the BeefProj.toml file is.
- Add raylib-beef as a dependency of your project
Static Linking
On Windows, default linking is set to dynamically link to raylib. This is because of some weird linking problems with MSVC. You can change that by selecting a different project configuration for raylib-beef in the Workspace settings. You can select from StaticDebug and StaticRelease.
More Links
- Raylib Repo (https://github.com/raysan5/raylib)
- BeefLang (https://www.beeflang.org)
Contribution
I'll be happy to resolve any issues or pull requests.