载入中...
搜索中...
未找到
窗口模块
窗口模块
脚本入口: eve.Window()
创建和配置单一游戏窗口。
基本用法
local window = eve.Window();
print(window.getWidth() + "x" + window.getHeight() + "\n");
对象关系与调用时机
WindowSettings 只是创建参数;Window 持有平台窗口;Graphics 必须先通过 setGraphics() 关联。窗口初始化放在引擎启动阶段,游戏逻辑通常直接使用全局 win,只在设置菜单中调用尺寸变更。
目标导向指南
按配置创建窗口
- 在
config.nut保存宽、高和标题等游戏配置。 - 创建
eve.WindowSettings(),填写width、height、centered。 - 调用
win.setGraphics(gfx)后再调用win.setWindowSettings(settings)。 - 用
getWidth()/getHeight()回读真实尺寸;移动端可能不会采用请求尺寸。
在选项菜单切换分辨率
调用 setSize(width, height),成功后重新读取窗口尺寸,并同步摄像机 viewport 与 UI 布局。退出按钮应调用 close(),不要直接终止进程。
常见问题
setWindowSettings()失败:通常是 Graphics 尚未关联,或平台不支持请求的模式。- 移动端尺寸不同:必须信任
getWidth/Height()的回读值。 - 调整窗口后画面拉伸:同步更新 camera viewport、Canvas 和 UI 布局。
API 快查
下列方法名来自当前 Squirrel 绑定;同一模块创建的辅助对象(例如 World、Body、Source)的方法也列在这里。
close()、getHeight()、getName()、getWidth()、getWindowSettings()、setGraphics()、setSize()、setWindowSettings()
使用要点
- 模块对象和它创建的资源对象应保存在全局或实体状态中,不要在每帧重复创建。
- 带
update(dt)的系统应在eve_update调用;绘制方法应在eve_render调用。 - 参数约束、默认值和返回类型以对应模块头文件及
addFunc绑定为准;本文 API 快查与当前源码同步生成。
源码: src/modules/window/ 相关测试: 在 test/ 中搜索 window。