Godot 4 的 Web 导出是 WebAssembly。微型游戏体积可控,适合挂在个人博客。
导出预设
编辑器 → 导出 → 添加 Web。下载对应导出模板(和编辑器小版本一致)。
建议:
- 线程:若你没用 Worker,可关线程,本地
file://也好测。 - 扩展名:导出到
public/games/ten-seconds/,得到index.html和.wasm。
用本地任意静态服务器打开,不要双击 html。浏览器会拦 WASM。
嵌进 Next.js
public/games/ten-seconds/index.html 之后:
tsx
export default function Page() {
return (
<iframe
title="十秒小游戏"
src="/games/ten-seconds/index.html"
className="h-[640px] w-full border-0"
allow="autoplay"
/>
);
}WASM 路径必须和 html 同目录。Caddy / Next 都要允许 .wasm 的 application/wasm 类型,一般框架已带。
输入
网页里方向键可能滚页面。在游戏 _ready 里:
gdscript
func _ready() -> void:
if OS.has_feature("web"):
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)提示玩家先点进 iframe 再按键,否则焦点还在博客上。
音效要用户先点一下页面,浏览器才给音频上下文。做个「点击开始」。
