You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ebiten编译Wasm后页面持续黑屏,启动服务后无法加载求助

排查Ebiten Wasm项目黑屏问题

1. 修复背景色透明度错误

你的代码里背景色的alpha通道值设置有误:

var BG_COL = color.RGBA{130, 130, 130, 1}

color.RGBA的alpha取值范围是0-255,值为1时几乎完全透明,导致背景显示为浏览器默认的黑色。修改为:

var BG_COL = color.RGBA{130, 130, 130, 255}

2. 确认Librewolf的WebAssembly支持

虽然你关闭了防护功能,但仍需确认浏览器是否启用WebAssembly:

  • 地址栏输入 about:config
  • 搜索 javascript.options.wasm,确保值为true
  • 搜索 dom.wasm.enabled,确保值为true

3. 查看浏览器控制台报错

按F12打开开发者工具,切换到控制台标签,检查是否存在以下报错:

  • 字体加载失败:确认fonts.MPlus1pRegular_ttf资源在Wasm环境下是否正确嵌入
  • WebAssembly编译错误:可能是Go版本或Ebiten版本兼容性问题
  • 权限相关错误:部分浏览器安全策略可能仍会影响资源加载

4. 验证原生运行是否正常

先在本地执行go run .运行项目,确认游戏能正常显示。如果原生运行没问题,再排查Wasm环境:

  • 更新wasmserve到最新版本:执行go install github.com/hajimehoshi/wasmserve@latest
  • 强制刷新页面:按Ctrl+Shift+R清除浏览器缓存后重新加载

5. 简化渲染逻辑测试

临时简化Draw方法,只绘制纯色背景,验证基础渲染是否正常:

func (g *Game) Draw(screen *ebiten.Image) {
    // 仅绘制红色背景测试
    screen.Fill(color.RGBA{255, 0, 0, 255})
}

如果修改背景色后仍黑屏,优先通过控制台报错信息定位问题,这是排查Wasm项目最直接的方式。

内容的提问来源于stack exchange,提问作者Debuholden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:57:36