C语言轻松是上手raylib图形库,窗口创建篇

窗口创建相关API

#ifndef RLAPI
    #define RLAPI       // Functions defined as 'extern' by default (implicit specifiers)
#endif

RLAPI void InitWindow(int width, int height, const char *title);  
/************************************************************************
* 功能: 初始化窗口
* 参数:
*   width:宽度
*   height:高度
*   title:窗口标题
************************************************************************/
RLAPI void CloseWindow(void);                                     
/************************************************************************
*       关闭窗口
************************************************************************/
RLAPI bool WindowShouldClose(void); 
/************************************************************************
* 功能: 检查用户是否请求关闭窗口 
* 返回值:
*   true:   请求关闭窗口
*       点击窗口的关闭按钮
*       按下特定的键盘按键(如ESC键)
*       触发其他关闭窗口的事件
*       ......
*   false:  窗口仍然应该保持打开状态
************************************************************************/
RLAPI void BeginDrawing(void); 
/************************************************************************
* 功能: 绘制帧的开始
************************************************************************/
RLAPI void EndDrawing(void);   
/************************************************************************
* 功能: 绘制帧的结束
************************************************************************/

案例代码

#include <raylib.h>
int main() 
{
    InitWindow(800, 600,"window");
    while (!WindowShouldClose()) 
    {
        BeginDrawing();
        EndDrawing();
    }
    CloseWindow();
    return 0;
}

这段代码创建了一个空白窗口,等待用户关闭它。虽然简单,但它展示了 Raylib 应用的基本结构:初始化、主循环、绘制和清理。实际的游戏或图形应用会在 BeginDrawing() 和 EndDrawing() 之间添加更多代码来绘制图形、处理输入和更新游戏状态。

运行结果

当然可以让窗口变成白色的,使用ClearBackground(WHITE)即可,完整代码如:

#include <raylib.h>
int main() 
{
    InitWindow(800, 600,"window");
    while (!WindowShouldClose()) 
    {
        BeginDrawing();
      	ClearBackground(WHITE);		//刷新背景颜色
        EndDrawing();
    }
    CloseWindow();
    return 0;
}

窗口坐标

在 Raylib 中,窗口坐标系统采用的是屏幕坐标系,其原点 (0, 0) 位于窗口的左上角,坐标值向右和向下递增。具体规则如下:

  1. 原点位置:窗口左上角为 (0, 0)
  2. X 轴:水平向右为正方向
  3. Y 轴:垂直向下为正方向
  4. 坐标范围:宽度范围:0 到 GetScreenWidth() - 1高度范围:0 到 GetScreenHeight() - 1

如下图:

相关

如果阁下正好在学习C/C++,看文章比较无聊,不妨关注下关注下小编的视频教程,通俗易懂,深入浅出,一个视频只讲一个知识点。视频不深奥,不需要钻研,在公交、在地铁、在厕所都可以观看,随时随地涨姿势。