-
SDL3_API分类参考_应用程序入口(CategoryMain)
应用程序入口(CategoryMain)如有必要,重新定义main()函数,使其能被SDL调用。为了保证该函数在所有平台上的行为一致,应用程序的main()函数应按如下形式编写:#include"SDL3/SDL.bi"#include"SDL3/SDL_main.bi"FunctionSDL_main(argcAsInteger,argvAsZStringPtr)AsInteger'应用程序逻辑… -
SDL3_API分类参考_显示器与窗口管理(CategoryVideo)
显示器与窗口管理(CategoryVideo)SDL的视频子系统主要负责对底层操作系统的窗口管理进行抽象封装。你可以创建窗口、以多种方式管理窗口、将其设为全屏模式,并在窗口发生相关事件(如鼠标或键盘与窗口交互)时获取事件通知。视频子系统还会对OpenGL中部分平台相关的差异进行抽象,例如:上下文创建、缓冲区交换等。这对你的应用程序可能至关重要,但你完全不必强制使用OpenGL。事实上,SDL也可以… -
SDL3 API分类参考(FreeBASIC适配版)
说明本文档基于SDL3.0官方API分类翻译,并适配FreeBASIC开发环境SDL3.0API分类一览基础功能分类头文件说明应用程序入口SDL_main.h提供SDL应用程序的标准入口点,处理不同平台下的程序启动逻辑初始化与退出SDL_init.h负责SDL库的初始化、子系统启动和程序退出时的资源清理配置变量SDL_hints.h提供运行时可配置的全局参数,用于调整SDL的行为和特性对象属性SD… -
RayLib 3D绘画库 API 文档(中文,勇芳原创)
窗口相关函数DeclareSubInitWindow(ByValWidthAsInteger,ByValheightAsInteger,ByValtitleAsZStringPtr)初始化窗口和OpenGL上下文DeclareSubCloseWindow()关闭窗口并卸载OpenGL上下文DeclareFunctionWindowShouldClose()AsBoolean检查应用程序是否应关闭(… -
Cairo 矢量绘图库 API 文档(中文,勇芳原创)
上下文的创建与销毁DeclareFunctioncairo_create(ByValtargetAscairo_surface_tPtr)Ascairo_tPtr创建核心绘图上下文。需要一个cairo_surface_t作为“画布”。返回值是所有绘图操作的起点。DeclareFunctioncairo_reference(ByValcrAscairo_tPtr)Ascairo_tPtr增加上下文引… -
VisualFreeBasic绘画和图像编程
前言在Windows图形用户界面中,屏幕上显示的所有元素——包括文字、图像、窗口、控件等——都是通过代码“绘制”出来的。VisualFreeBasic(VFB)通过封装GDI/GDI+和集成Cairo图形库,让图形绘制变得简单直观。理解Windows的消息驱动机制和绘画事件,是掌握自定义图形界面的关键。一、绘画机制概述1.1Windows消息驱动机制Windows采用消息驱动模型,当窗口需要重绘时… -
VisualFreeBasic进程通信_文件映射(内存映射)
文件映射(Memory-MappedFile,简称内存映射)是一种将磁盘文件的部分或全部内容直接映射到进程虚拟内存地址空间的技术。通过这种方式,进程可以像访问普通内存一样读写文件,无需使用read、write等传统I/O函数,大幅简化了文件操作流程,同时也能提升I/O效率(尤其适合大文件或频繁读写场景)。在这里,我们并不是去文件映射,而是利用文件映射,跳过文件而直接使用内存映射,让任何进程都可以访… -
VisualFreeBasic进程通信
进程通信(IPC,Inter-ProcessCommunication)是指操作系统中不同进程之间交换数据、传递信息或协同工作的机制。由于进程在内存中相互隔离(独立的地址空间),无法直接访问彼此的资源,因此需要通过操作系统提供的特定接口实现交互。一、进程通信的核心目的数据交换:进程间传递数据(如文件内容、网络数据等)。同步协作:协调多个进程的执行顺序(如避免同时修改共享资源)。资源共享:多个进程共… -
VisualFreeBasic多线程编程
多线程编程是指在一个进程内创建多个线程,让它们并发执行不同任务的编程技术。线程作为进程内的执行单元,共享进程的内存空间(如全局变量、堆内存),但拥有独立的栈和程序计数器,这使得线程间通信更高效,却也带来了同步与冲突的挑战。一、为什么需要多线程?单线程程序在执行耗时操作(如网络请求、文件读写)时会陷入阻塞,导致整个程序“卡壳”。多线程的核心价值在于:提升资源利用率:当一个线程因I/O操作阻塞时,其他… -
VisualFreeBasic游戏趣味编程_11.4_显示绘制过程动画
为了可以显示出逐渐绘制樱花的过程,增加全局变量:DimSharedisShowAnimationAsLong=1'是否显示树生成的过程动画在brunch()函数中加入代码,如果isShowAnimation等于1,每次运行brunch()后调用FlushBatchDraw()绘制,这样就可以显示逐渐绘制樱花树的过程动画了:IfisShowAnimationThen'如果为1,绘制樱花树生成的过程动…