diff options
Diffstat (limited to 'cheatsheet/zh/raylib_core.c')
| -rw-r--r-- | cheatsheet/zh/raylib_core.c | 238 |
1 files changed, 238 insertions, 0 deletions
diff --git a/cheatsheet/zh/raylib_core.c b/cheatsheet/zh/raylib_core.c new file mode 100644 index 0000000..063ec76 --- /dev/null +++ b/cheatsheet/zh/raylib_core.c @@ -0,0 +1,238 @@ + + //窗口相关功能 + void InitWindow(int width, int height, const char *title); //初始化窗口和OpenGL上下文 + bool WindowShouldClose(void); //检查是否按下了KEY_ESCAPE或关闭图标 + void CloseWindow(void); //关闭窗口并卸载OpenGL上下文 + bool IsWindowReady(void); //检查窗口是否已成功初始化 + bool IsWindowFullscreen(void); //检查窗口当前是否为全屏 + bool IsWindowHidden(void); //检查窗口当前是否隐藏(仅PLATFORM_DESKTOP) + bool IsWindowMinimized(void); //检查窗口当前是否最小化(仅限PLATFORM_DESKTOP) + bool IsWindowMaximized(void); //检查窗口当前是否最大化(仅PLATFORM_DESKTOP) + bool IsWindowFocused(void); //检查窗口当前是否聚焦(仅PLATFORM_DESKTOP) + bool IsWindowResized(void); //检查窗口是否已调整最后一帧的大小 + bool IsWindowState(unsigned int flag); //检查是否启用了一个特定窗口标志 + void SetWindowState(unsigned int flag); //使用标志设置窗口配置状态(仅限PLATFORM_DESKTOP) + void ClearWindowState(unsigned int flag); //清除窗口配置状态标志 + void ToggleFullscreen(void); //切换窗口状态:全屏/窗口(仅PLATFORM_DESKTOP) + void MaximizeWindow(void); //设置窗口状态:最大化, 如果可调整大小(仅PLATFORM_DESKTOP) + void MinimizeWindow(void); //设置窗口状态:最小化, 如果可调整大小(仅PLATFORM_DESKTOP) + void RestoreWindow(void); //设置窗口状态:未最小化/最大化(仅PLATFORM_DESKTOP) + void SetWindowIcon(Image image); //设置窗口图标(仅PLATFORM_DESKTOP) + void SetWindowTitle(const char *title); //设置窗口标题(仅限PLATFORM_DESKTOP) + void SetWindowPosition(int x, int y); //在屏幕上设置窗口位置(仅限PLATFORM_DESKTOP) + void SetWindowMonitor(int monitor); //为当前窗口设置监视器(全屏模式) + void SetWindowMinSize(int width, int height); //设置窗口最小尺寸(对于FLAG_window_RESIZABLE) + void SetWindowSize(int width, int height); //设置窗口尺寸 + void SetWindowOpacity(float opacity); //设置窗口不透明度[0.0f..1.0f](仅限PLATFORM_DESKTOP) + void*GetWindowHandle(void); //获取本机窗口句柄 + int GetScreenWidth(void); //获取当前屏幕宽度 + int GetScreenHeight(void); //获取当前屏幕高度 + int GetRenderWidth(void); //获取当前渲染宽度(它考虑HiDPI) + int GetRenderHeight(void); //获取当前渲染高度(它考虑HiDPI) + int GetMonitorCount(void); //获取连接的监视器数量 + int GetCurrentMonitor(void); //获取当前连接的监视器 + Vector2 GetMonitorPosition(int monitor); //获取指定的监视器位置 + int GetMonitorWidth(int monitor); //获取指定的监视器宽度(监视器使用的当前视频模式) + int GetMonitorHeight(int monitor); //获取指定的监视器高度(监视器使用的当前视频模式) + int GetMonitorPhysicalWidth(int monitor); //获取指定的监视器物理宽度(毫米) + int GetMonitorPhysicalHeight(int monitor); //获取指定的监视器物理高度(毫米) + int GetMonitorRefreshRate(int monitor); //获取指定的监视器刷新率 + Vector2 GetWindowPosition(void); //获取监视器上的窗口位置XY + Vector2 GetWindowScaleDPI(void); //获取窗口比例DPI因子 + const char*GetMonitorName(int monitor); //获取主监视器的可读UTF-8编码名称 + void SetClipboardText(const char *text); //设置剪贴板文本内容 + const char*GetClipboardText(void); //获取剪贴板文本内容 + void EnableEventWaiting(void); //启用等待EndDrawing()上的事件, 无自动事件轮询 + void DisableEventWaiting(void); //禁用等待EndDrawing()上的事件, 自动事件轮询 + + //自定义框架控制功能 + //注:这些功能适用于希望完全控制帧处理的高级用户 + //默认情况下, EndDrawing()完成以下任务:绘制所有内容+SwapScreenBuffer()+管理帧计时+PollInputEvents() + //要避免这种行为并手动控制帧进程, 请在配置中启用。h:支持自定义框架控制 + void SwapScreenBuffer(void); //用前缓冲区交换后缓冲区(屏幕绘图) + void PollInputEvents(void); //注册所有输入事件 + void WaitTime(双秒); //等待一段时间(停止程序执行) + + //鼠标光标相关功能 + void ShowCursor(void); //显示鼠标光标 + void HideCursor(void); //隐藏鼠标光标 + bool IsCursorHidden(void); //检查鼠标光标是否不可见 + void EnableCursor(void); //启用鼠标光标(解锁鼠标光标) + void DisableCursor(void); //禁用鼠标光标(锁定鼠标光标) + bool IsCursorOnScreen(void); //检查鼠标光标是否在屏幕上 + + //绘图相关功能 + void ClearBackground(Color color); //设置背景色(帧缓冲区透明色) + void BeginDrawing(void); //设置画布(帧缓冲区)以开始绘制 + void EndDrawing(void); //结束画布绘制和交换缓冲区(双缓冲) + void BeginMode2D(Camera2D相机); //使用自定义相机开始2D模式(2D) + void EndMode2D(void); //使用自定义相机结束2D模式 + void BeginMode3D(Camera3D相机); //使用自定义相机开始3D模式(3D) + void EndMode3D(void); //结束三维模式并返回默认的二维正交模式 + void BeginTextureMode(RenderTexture2D目标); //开始绘制以渲染Texture + void EndTextureMode(void); //结束绘制以渲染Texture + void BeginShaderMode(Shader shader); //开始自定义着色器绘图 + void EndShaderMode(void); //结束自定义着色器绘图(使用默认着色器) + void BeginBlendMode(int模式); //开始混合模式(alpha、加法、乘法、减法、自定义) + void EndBlendMode(void); //结束混合模式(重置为默认值:alpha混合) + void BeginScissorMode(int x, int y, int width, int height); //开始剪式模式(定义下图的屏幕区域) + void EndScissorMode(void); //末端剪式模式 + void BeginVrStereoMode(VrStereoConfig config); //开始立体渲染(需要VR模拟器) + void EndVrStereoMode(void); //结束立体渲染(需要VR模拟器) + + //VR模拟器的VR立体配置功能 + VrStereoConfig LoadVrStereo Config(VrDeviceInfo device); //为VR模拟器设备参数加载VR立体声配置 + void UnloadVrStereoConfig(VrStereoConfig config); //卸载VR立体声配置 + + //着色器管理功能 + //注意:OpenGL 1.1上不提供着色器功能 + Shader LoadShader(const char *vsFileName, const char *fsFileName); //从文件加载着色器并绑定默认位置 + Shader LoadShaderFromMemory(const char *vsCode, const char *fsCode); //从代码字符串加载着色器并绑定默认位置 + int GetShaderLocation(Shader shader, const char *uniformName); //获取着色器统一位置 + int GetShaderLocationAttrib(Shader shader, const char *attribName); //获取着色器属性位置 + void SetShaderValue(Shader shader, int locIndex, const void *value, int uniformType); //设置着色器统一值 + void SetShaderValueV(Shader shader, int locIndex, const void *value, int uniformType, int count); //设置着色器统一值向量 + void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat); //设置着色器统一值(矩阵4x4) + void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture); //为Texture设置着色器统一值(sampler2d) + void UnloadShader(Shader shader); //从GPU内存(VRAM)卸载着色器 + + //屏幕空间相关功能 + Ray GetMouseRay(Vector2 mousePosition, 相机相机); //从鼠标位置获取光线跟踪 + Matrix GetCameraMatrix(Camera camera); //获取相机变换矩阵(视图矩阵) + Matrix GetCameraMatrix2D(Camera2D相机); //获取相机二维变换矩阵 + Vector2 GetWorldToScreen(Vector3位置, 摄像机); //获取三维世界空间位置的屏幕空间位置 + Vector2 GetScreenToWorld2D(Vector2位置, Camera2D相机); //获取2d相机屏幕空间位置的世界空间位置 + Vector2 GetWorldToScreenEx(Vector3位置, 摄像机, int宽度, int高度); //获取三维世界空间位置的大小位置 + Vector2 GetWorldToScreen2D(Vector2位置, Camera2D相机); //获取2d相机世界空间位置的屏幕空间位置 + + //定时相关功能 + void SetTargetFPS(int fps);//设置目标FPS(最大值) + int GetFPS(void); //获取当前FPS + float GetFrameTime(void); //获取绘制的最后一帧的时间(以秒为单位)(增量时间) + double GetTime(void); //获取自InitWindow()以来的运行时间(秒) + + //其他。功能 + int GetRandomValue(int最小值, int最大值); //获取最小值和最大值之间的随机值(包括两者) + void SetRandomSeed(unsigned int种子); //设置随机数生成器的种子 + void TakeScreenshot(const char *fileName); //拍摄当前屏幕的屏幕截图(文件扩展名定义格式) + void SetConfigFlags(unsigned int flag); //设置初始化配置标志(查看flags) + void TraceLog(int logLevel, const char *text, …); //显示跟踪日志消息(log_DEBUG、log_INFO、log_WARNING、log_ERROR…) + void SetTraceLogLevel(int logLevel); //设置当前阈值(最小)日志级别 + void *MemAlloc(int size); //内部内存分配器 + void *MemRealloc(void *ptr, int size); //内部内存重新定位程序 + void MemFree(void *ptr); //内部内存可用 + void OpenURL(const char*url); //使用默认系统浏览器打开URL(如果可用) + + //设置自定义回调 + //警告:回调设置适用于高级用户 + void SetTraceLogCallback(TraceLogCallback回调); //设置自定义跟踪日志 + void SetLoadFileDataCallback(LoadFileData回调); //设置自定义文件二进制数据加载器 + void SetSaveFileDataCallback(SaveFileData回调); //设置自定义文件二进制数据保护程序 + void SetLoadFileTextCallback(LoadFileText回调); //设置自定义文件文本数据加载器 + void SetSaveFileTextCallback(SaveFileText回调); //设置自定义文件文本数据保护程序 + + //文件管理功能 + unsigned char*LoadFileData(const char *fileName, unsigned int *bytesRead); //将文件数据加载为字节数组(读取) + void UnloadFileData(unsigned char *data); //卸载LoadFileData()分配的文件数据 + bool SaveFileData(const char *fileName, void*data, unsigned int bytesToWrite); //将数据从字节数组保存到文件(写入), 成功时返回true + bool ExportDataAsCode(const char *data, unsigned int size, const char *fileName); //将数据导出到代码(.h), 成功时返回true + char*LoadFileText(constchar *fileName); //从文件加载文本数据(读取), 返回以“\0”结尾的字符串 + void UnloadFileText(char *text); //卸载LoadFileText()分配的文件文本数据 + bool SaveFileText(const char *fileName, char *text); //将文本数据保存到文件(写入), 字符串必须以“\0”结尾, 成功时返回true + bool FileExists(const char *fileName); //检查文件是否存在 + bool DirectoryExists(const char *dirPath); //检查目录路径是否存在 + bool IsFileExtension(const char *fileName, const char *ext); //检查文件扩展名(包括点:.png、.wav) + int GetFileLength(const char *fileName); //获取以字节为单位的文件长度(注意:GetFileSize()与windows冲突。小时) + const char*GetFileExtension(const char *fileName); //获取指向文件名字符串扩展名的指针(包括点:“.png”) + const char*GetFileName(const char *filePath); //获取路径字符串的文件名指针 + const char*GetFileNameWithoutExt(const char *filePath); //获取不带扩展名的文件名字符串(使用静态字符串) + const char*GetDirectoryPath(const char *filePath); //获取带有路径的给定fileName的完整路径(使用静态字符串) + const char*GetPrevDirectoryPath(const char *dirPath); //获取给定路径的上一个目录路径(使用静态字符串) + const char*GetWorkingDirectory(void); //获取当前工作目录(使用静态字符串) + const char*GetApplicationDirectory(void); //如果正在运行的应用程序(使用静态字符串), 则获取目录 + bool ChangeDirectory(const char *dir); //更改工作目录, 成功时返回true + bool IsPathFile(const char *path); //检查给定路径是文件还是目录 + FilePathList LoadDirectoryFiles(const char *dirPath); //加载目录文件路径 + FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdir); //使用扩展筛选和递归目录扫描加载目录文件路径 + void UnloadDirectoryFiles(FilePathList文件); //卸载文件路径 + bool IsFileDropped(void); //检查文件是否已放入窗口 + FilePathList LoadDroppedFiles(void); //加载删除的文件路径 + void UnloadDroppedFiles(FilePathList files); //卸载删除的文件路径 + long GetFileModTime(const char *fileName); //获取文件修改时间(上次写入时间) + + //压缩/编码功能 + unsigned char *CompressData(const unsigned char *data, int dataSize, int *compDataSize); //压缩数据(DEFLATE算法), 内存必须为MemFree() + unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); //解压缩数据(DEFLATE算法), 内存必须为MemFree() + char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); //将数据编码为Base64字符串, 内存必须为MemFree() + unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); //解码Base64字符串数据, 内存必须为MemFree() + + //------------------------------------------------------------------------------------ + //输入处理功能(模块:核心) + //------------------------------------------------------------------------------------ + + //输入相关功能:键盘 + bool IsKeyPressed(int键); //检查是否按下了一次键 + bool IsKeyDown(int键); //检查是否按下了键 + bool IsKeyReleased(int key); //检查按键是否已释放一次 + bool IsKeyUp(int key); //检查是否未按下按键 + void SetExitKey(int key); //设置自定义键以退出程序(默认为ESC) + int GetKeyPressed(void); //按下按键(keycode), 对排队的按键多次调用, 当队列为空时返回0 + int GetCharPressed(void); //获取已按下的字符(unicode), 对已排队的字符多次调用, 当队列为空时返回0 + + //输入相关功能:Gamepads + bool IsGamepad可用(int gamepad); //检查游戏机是否可用 + const char*GetGamepadName(int gamepad); //获取游戏机内部名称id + bool IsGamepadButtonPressed(intGamepads, int按钮); //检查游戏机按钮是否已按下一次 + bool IsGamepadButtonDown(intGamepads, int按钮); //检查是否按下了游戏机按钮 + bool IsGamepadButtonReleased(intGamepads, int按钮); //检查游戏机按钮是否已释放一次 + bool IsGamepadButtonUp(intGamepads, int按钮); //检查是否未按下游戏机按钮 + int GetGamepadButtonPressed(void); //按下最后一个游戏机按钮 + int GetGamepadAxisCount(intGamepads); //获取游戏机的游戏机轴计数 + float GetGamepadAxisMovement(intGamepads, int轴); //获取游戏机轴的轴移动值 + int SetGamepadMappings(const char *映射); //设置内部游戏机映射(SDL_GameControllerDB) + + //输入相关功能:鼠标 + bool IsMouseButtonPressed(int按钮); //检查是否按下了一次鼠标按钮 + bool IsMouseButtonDown(int按钮); //检查是否按下了鼠标按钮 + bool IsMouseButtonRelease(int按钮); //检查鼠标按钮是否已释放一次 + bool IsMouseButtonUp(int按钮); //检查是否未按下鼠标按钮 + int GetMouseX(void); //获取鼠标位置X + int GetMouseY(void); //获取鼠标位置Y + Vector2 GetMousePosition(void); //获取鼠标位置XY + Vector2 GetMouseDelta(void); //获取帧之间的鼠标增量 + void SetMousePosition(int x, int y); //设置鼠标位置XY + void SetMouseOffset(int offsetX, int offsetY); //设置鼠标偏移 + void SetMouseScale(float scaleX,float scaleY); //设置鼠标缩放 + float GetMouseWheelMove(void); //获取X或Y的鼠标滚轮移动, 以较大者为准 + Vector2 GetMouseWheelMoveV(void); //获取X和Y方向的鼠标滚轮移动 + void SetMouseCursor(int鼠标光标); //设置鼠标光标(原文:Set Mouse Cursor) + + //输入相关功能:触摸 + int GetTouchX(void); //获取触摸点0的触摸位置X(相对于屏幕大小) + int GetTouchY(void); //获取触摸点0的触摸位置Y(相对于屏幕大小) + Vector2 GetTouchPosition(int index); //获取触摸点索引的触摸位置XY(相对于屏幕大小) + int GetTouchPointId(int index); //获取给定索引的接触点标识符 + int GetTouchPointCount(void); //获取接触点数量 + + //------------------------------------------------------------------------------------ + //手势和触摸处理功能(模块:手势) + //------------------------------------------------------------------------------------ + void SetGesturesEnabled(unsigned int flag); //使用标志启用一组手势 + bool IsGestureDetected(int手势); //检查是否检测到手势 + int GetGestureDetected(void); //获取最新检测到的手势 + float GetGestureHoldDuration(void); //获取手势保持时间(毫秒) + Vector2 GetGestureDragVector(void); //获取手势拖动矢量 + float GetGestureDragAngle(void); //获取手势拖动角度 + Vector2 GetGesturePinchVector(void); //获取手势捏三角 + float GetGesturePinchAngle(void); //获取手势捏角 + + //------------------------------------------------------------------------------------ + //摄像头系统功能(模块:rcamera) + //------------------------------------------------------------------------------------ + void SetCameraMode(Camera camera, int mode); //设置相机模式(多种相机模式可用) + void UpdateCamera(Camera*camera); //更新所选模式的相机位置 + void SetCameraPanControl(int keyPan); //设置相机平移键以与鼠标移动相结合(自由相机) + void SetCameraAltControl(int keyAlt); //设置相机alt键以与鼠标移动相结合(自由相机) + void SetCameraSmoothZoomControl(int keySmoothZoom); //设置相机平滑缩放键以与鼠标结合(自由相机) + void SetCameraMoveControls(int keyFront, int keyBack, int keyRight, int keyLeft, int key Up, int keyDown); //设置摄像机移动控制(第一人称和第三人称摄像机) + |
