Ez a dokumentum egy előző változata!
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.
Í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 game 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; }
#include <raylib.h> #include <math.h> int main() { // Initialization const int screenWidth = 800; const int screenHeight = 450; InitWindow(screenWidth, screenHeight, "Sinus Function Plot - raylib"); SetTargetFPS(60); // Set FPS while (!WindowShouldClose()) { // Main game loop // Update // Draw BeginDrawing(); ClearBackground(RAYWHITE); // Clear the background // Draw the axes Vector2 origin = { (float)screenWidth/2, (float)screenHeight/2 }; DrawLine(origin.x, 0, origin.x, screenHeight, BLACK); // Y-axis DrawLine(0, origin.y, screenWidth, origin.y, BLACK); // X-axis // Draw the sine function for(int i = -screenWidth/2; i < screenWidth/2; i++) { // Calculating points float x1 = (float)i; float y1 = sinf(x1 * DEG2RAD) * 100; // Scale the sine wave float x2 = x1 + 1; float y2 = sinf(x2 * DEG2RAD) * 100; // Scale the sine wave // Transform points to screen space x1 += origin.x; y1 = origin.y - y1; // Invert y1 to match screen coordinates x2 += origin.x; y2 = origin.y - y2; // Invert y2 to match screen coordinates // Draw line segment DrawLine(x1, y1, x2, y2, BLUE); } DrawText("Sinus Function Plot", 10, 10, 20, BLACK); // Title DrawText("X-Axis", screenWidth - 50, origin.y + 10, 10, BLACK); // X-axis label DrawText("Y-Axis", origin.x + 10, 10, 10, BLACK); // Y-axis label EndDrawing(); } CloseWindow(); return 0; }