muszaki_informatika:raylib
Table of Contents
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
- Platformfüggetlen: Windows, Linux, MacOS és több más rendszeren is működik.
- Könnyű Integrálni: Nincs szükség külső függőségekre vagy bonyolult telepítési folyamatokra.
- 2D és 3D támogatás: Támogatja mind a 2D, mind a 3D grafikai és audio funkcionalitást.
Alapvető funkciók
- Ablakkezelés: Könnyű létrehozni és kezelni az ablakokat, valamint kezelni az eseményeket.
- Grafika: Támogatja a 2D-s és 3D-s rajzolást, textúrák és sprite-ok kezelését.
- Hangkezelés: Képes audio fájlok lejátszására és hang effektek kezelésére.
- Bemenet kezelése: Egér, billentyűzet és más bemeneti eszközök támogatása.
Források
- Hivatalos Weboldal: raylib.com
- Dokumentáció: Teljes körű API dokumentáció elérhető a hivatalos weboldalon.
- Példák és Tutorialok: Sok példa és oktatóanyag található az oldalon
Egyszerű telepítés
A raylib függőséggekkel, példakóddal telepíthető fejlesztőkörnyezet:
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:
- Van saját telepítője is, de egyszerűbb ha letöltjük az include és lib fájlokat tartalmazó raylib.zip-et.
- Hozzunk létre egy konzol alkalmazást a codeblocks-ban
- A létrejött main.c fájl könyvtárába tömörítsük ki a letöltött zip-et
- A zip-ből másoljuk ki a raylib.dll-t a bin/RELEASE vagy bin/DEBUG könyvtárakba, ha elindításkor nem találja rendszer.
Í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;
}
muszaki_informatika/raylib.txt · Last modified: 2025/03/12 18:17 by knehez




