raylib 快速上手教程C 语言游戏库从零到第一个窗口只需 30 分钟【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylibraylib 是一个用纯 C99 写的游戏编程库帮你跳过窗口、渲染、音频这些底层琐事直接用一行函数画出圆、贴上纹理、读按键。它适合想快速出原型的新手和追求轻量跨平台工具链的独立开发者——按本文走完30 分钟内你能看到自己写的第一扇游戏窗口。选 raylib 的 4 个理由依赖全内置图像、字体、音频的第三方库都塞在src/external/里clone 完源码就能编译不用追任何外部包。语言门槛低整库就是纯 CPascalCase 命名函数名即功能DrawText就是画文字。2D/3D/音频一体几何绘制、模型加载、骨骼动画、WAV/MP3/OGG 播放都在同一个头文件里。官方示例海量examples/下有 223 个可运行的完整示例每个都配了截图照着抄就能学会 API。维度raylib重型引擎Unity/UE自写 OpenGL依赖管理内置全依赖 ✓需装完整工具链需手动拼依赖上手门槛半天级周级月级2D 3D 音频一套 API ✓✓自己实现跨平台Win/mac/Linux/Web✓部分需逐平台适配适合做小工具/嵌入式✓✗视情况raylib 环境准备clone 仓库与 CMake 配置先拿源码这是所有平台通用的起点git clone https://gitcode.com/GitHub_Trending/ra/raylib cd raylibLinux / macOSsudo apt install cmake build-essential pkg-config # Debian/UbuntumacOS 需先装 Xcode 命令行工具 cmake -B build -DBUILD_EXAMPLESON cmake --build build -jWindowsMinGWcmake -B build -G MinGW Makefiles -DBUILD_EXAMPLESON cmake --build build验证环境是否就绪./build/examples/core/core_basic_window窗口一弹出来环境就算搭好了。构建参数都定义在 CMakeOptions.txt 和 src/CMakeLists.txt不确定某个开关时翻这两个文件最靠谱。raylib 第一个可运行示例15 行代码画出游戏窗口不必等装完整个库——用仓库自带的 CMake 工程直接编译最小示例examples/core/core_basic_window.c核心逻辑就这几行#include raylib.h int main(void) { InitWindow(800, 450, raylib [core] example - basic window); SetTargetFPS(60); while (!WindowShouldClose()) { BeginDrawing(); ClearBackground(RAYWHITE); DrawText(Congrats! You created your first window!, 190, 200, 20, LIGHTGRAY); EndDrawing(); } CloseWindow(); return 0; }编译运行命令接着上一节的 build 目录cmake --build build --target core_basic_window ./build/examples/core/core_basic_window编译运行后屏幕上会出现一扇 800x450 的白底窗口中间一行灰色文字按 ESC 或点关闭按钮即退出raylib 基础窗口示例运行效果一扇 800x450 的窗口显示 Congrats! You created your first window!这扇窗口就是 raylib 所有程序的最小骨架InitWindow起窗口BeginDrawing/EndDrawing包住每帧绘制WindowShouldClose控制退出循环。raylib 核心能力走查2D、3D 与数学库2D 图形渲染rshapes 模块src/rshapes.c实现了整套即时模式绘制你不需要理解 OpenGL函数名就是用法DrawRectangle(0, 0, 200, 100, SKYBLUE); DrawCircle(400, 225, 50, RED); DrawTextEx(font, score: 120, (Vector2){10, 10}, 20, 1, GOLD);保存后重新编译窗口里立刻出现一个蓝矩形加红圆。想看花样可以去examples/shapes/抄比如shapes_logo_raylib.c就是纯 2D 画出的 raylib 标志。3D 模型渲染与 PBR 材质src/rmodels.c负责模型与材质生成网格、贴纹理各一行Mesh cube GenMeshCube(2.0f, 2.0f, 2.0f); Model model LoadModelFromMesh(cube); Texture2D tex LoadTexture(resources/wooden_crate.png); BeginMode3D(camera); DrawModel(model, (Vector3){ 0, 0, 0 }, 1.0f, WHITE); EndMode3D();编译运行后你会看到一个带木纹贴图、缓慢转动的立方体——对应仓库里的现成示例 examples/models/models_textured_cube.craylib 纹理立方体示例运行效果3D 视口中的贴纹立方体相机控制rcamera.h 一行更新src/rcamera.h提供预设相机行为第一人称视角不用自己推矩阵Camera3D camera { 0 }; camera.position (Vector3){ 0, 2, 4 }; camera.target (Vector3){ 0, 2, 0 }; camera.fovy 60.0f; camera.projection CAMERA_PERSPECTIVE; UpdateCamera(camera, CAMERA_FIRST_PERSON); // 每帧调用自动接管 WASD鼠标编译运行后鼠标拖动看四周、WASD 前后移动即开即用。完整可玩版本在 examples/core/core_3d_camera_first_person.craylib 第一人称相机示例运行效果支持 WASD 移动与鼠标视角向量矩阵运算raymath 单头文件src/raymath.h是纯头文件数学库向量加减点积、矩阵变换、四元数全都有raylib.h已经把它包含进来直接用Vector3 v Vec3Normalize(target - camera.position); float dist Vec3Length(v); Mat4 view ViewMatrix(camera);向量算错是 3D 新手最大坑源把计算都交给 raymath出错概率低一大截。raylib 常见卡点与解法现象链接/编译报找不到 raylib 相关符号或头文件大概率是手动拼gcc -lraylib时路径没对。别硬凑统一走 CMakecmake -B build -DBUILD_EXAMPLESON cmake --build build让工程自己管理包含目录。现象老机器上窗口打开后黑屏或闪退多半是显卡驱动只支持旧版 OpenGL。重新配置构建强制降级cmake -B build -DOPENGL_VERSION2.1 -DBUILD_EXAMPLESON选项定义见 CMakeOptions.txt没有硬件加速的环境甚至可以试Software软件渲染后端。现象Linux 上画面正常但 LoadAudioDevice 后没声音先确认装了libasound2-dev再确认运行目录有音频文件。Web 端构建走浏览器音频通道不涉及系统库报错信息不同以构建日志为准。现象全量构建太慢磁盘占满示例一开就是 200 多个可执行文件正常现象。只想要库时cmake -B build -DBUILD_EXAMPLESOFF加-DCMAKE_BUILD_TYPERelease还能省编译时间。下一步学习资源与练手路线源码入口先读 src/raylib.h按模块分节注释等于自带 API 手册渲染底层看 src/rlgl.h示例清单examples/examples_list.txt列出全部 223 个示例按 audio/core/models/shapes 等目录分好类配套工程模板projects/CMake/ 是最小可用模板VS2022 工程在 projects/VS2022/练手建议先复现 10 个 core 目录示例再独立写一个贪吃蛇纯 2D 足够练手感之后挑战 3D 版工具VS Code C/C 扩展写代码GDB 调试构建全交给 CMake至此你已经掌握了 5 件事✅ 用 CMake 从零编译 raylib 并跑通全部示例✅ 写出「初始化窗口 → 帧循环 → 清理」的标准程序骨架✅ 用 rshapes 做 2D 即时模式绘制✅ 用 BeginMode3D 相机预设搭出 3D 场景✅ 常见构建/运行卡点的排查思路别停在示例里——clone 仓库、起一扇窗口、把第一个自己画的三角形推进去raylib 的手感只有写出来才算你的 【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylib创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考