Tartalomjegyzék

Raylib: A C nyelvű játékfejlesztési könyvtár

A raylib egy egyszerű és könnyen használható C nyelvű könyvtár, amit játékfejlesztéshez és multimédiás alkalmazásokhoz készítettek.

Fő jellemzői

Alapvető funkciók

Források

Egyszerű telepítés

A raylib függőséggekkel, példakóddal telepíthető fejlesztőkörnyezet:

Hordozható codeblocks

Telepítés és konfiguráció

Ha már korábban letöltött CodeBlocks rendszeren szeretnénk használni a raylib-et, akkor az alábbi leírás alapján használjuk:

  1. Van saját telepítője is, de egyszerűbb ha letöltjük az include és lib fájlokat tartalmazó raylib.zip-et.
  2. Hozzunk létre egy konzol alkalmazást a codeblocks-ban
  3. A létrejött main.c fájl könyvtárába tömörítsük ki a letöltött zip-et
  4. Nyissuk meg a Projekt/Build options menüt:
  5. A linker settings fülön állítsuk be /lib/libraylibdll.a:
  6. A search directories fülön adjuk hozzá az include könyvtárat:
  7. Ugyanitt váltsunk a linker fülre és adjuk hozzá a lib könyvtárat:

Írjuk felül a jelenlegi main.c tartalmát az alábbi kóddal és futtassuk a programot.

#include <raylib.h>

int main() {
    // Window creation
    const int screenWidth = 640;
    const int screenHeight = 480;
    InitWindow(screenWidth, screenHeight, "raylib example");

    // Initialization
    SetTargetFPS(60); // Set our app to run at 60 frames-per-second

    // Main game loop
    while (!WindowShouldClose()) { // Detect window close button or ESC key
        // Update

        // Draw
        BeginDrawing();

            ClearBackground(LIGHTGRAY); // Clear the background with a color

            int MaxX = GetScreenWidth();
            int MaxY = GetScreenHeight();

            for (int i = 1; i <= 10; i++) {
                Color lineColor = GetColor(i + 5); // Choose color
                DrawLine(0, 0, (MaxX / 10) * i, MaxY, lineColor); // Draw line

                int R = (MaxY - 10) / (2 * i); // Circle radius
                DrawCircle(MaxX - R, MaxY / 2, R, lineColor); // Draw circle

                // Draw ellipse
                DrawEllipse(MaxX / 2, MaxY / 8, MaxX / (4 * i), MaxY / 8, lineColor);
            }

        EndDrawing();
    }

    // De-Initialization
    CloseWindow(); // Close window and OpenGL context

    return 0;
}