#include #include #include #define WINDOW_WIDTH 800 #define WINDOW_HEIGHT 600 #define LOGO_HEIGHT 64 #define LOGO_SPEED 300 int main() { InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "Raylib in C"); SetTargetFPS(60); SetRandomSeed(time(NULL)); Image logo_image = LoadImage("./c_logo.png"); ImageResize(&logo_image, logo_image.width * LOGO_HEIGHT / logo_image.height, LOGO_HEIGHT); Texture2D logo_texture = LoadTextureFromImage(logo_image); UnloadImage(logo_image); float x = GetRandomValue(0, WINDOW_WIDTH - logo_texture.width); float y = GetRandomValue(0, WINDOW_HEIGHT - logo_texture.height); float dx = LOGO_SPEED * (GetRandomValue(0, 1) ? -1 : 1); float dy = LOGO_SPEED * (GetRandomValue(0, 1) ? -1 : 1); while (!WindowShouldClose()) { float delta_time = GetFrameTime(); x += dx * delta_time; y += dy * delta_time; if (x < 0 || (x + logo_texture.width) >= WINDOW_WIDTH - 1) { dx *= -1; x += dx * delta_time; } if (y < 0 || (y + logo_texture.height) >= WINDOW_HEIGHT - 1) { dy *= -1; y += dy * delta_time; } BeginDrawing(); ClearBackground(BLACK); DrawTextureV(logo_texture, (Vector2){x, y}, WHITE); EndDrawing(); } UnloadTexture(logo_texture); CloseWindow(); return 0; }