使用移动包的Golang跨平台游戏引擎?

3

是否可以使用Go移动包资源创建跨平台(移动+桌面)游戏引擎?还是它与gomobile和移动体系结构有些联系?

第一个问题是,我将使用的glsprite和其他渲染包都是基于OpenGL ES构建的,因此我必须忽略所有gl,只使用更通用的包,例如https://godoc.org/golang.org/x/mobile/exp/sprite/portable?或者当针对移动设备时,我仍然可以几乎无缝地使用glsprite?

理论上,音频应该可以通过https://godoc.org/golang.org/x/mobile/exp/audio进行交叉编译,对吗?

这可行/可行吗?还是太麻烦了?

1个回答

2
上次我在Windows上尝试使用gomobile opengl时,它没有起作用。我只能为Android编译。也许这个bug现在已经修复了,不确定。
但是,对于跨平台,您可以简单地在移动平台上使用gomobile,并为通用opengl在桌面上创建一个接口,这样您就可以无缝地拥有两者。只需将常规opengl和gomobile opengl es之间的接口抽象出来即可。
更新:
实际上,我刚刚尝试了使用go run运行“basic”示例,在Windows上成功了。所以这个bug肯定已经被修复了。所以,在您的回复中,是可能使用gomobile x进行跨平台移动+桌面的。

https://github.com/golang/mobile/blob/master/example/basic/main.go

然而,由于Linux特定的Open AL库,音频在Windows上无法编译。如果您查看构建标志,会发现仅适用于darwin和linux,不包括windows。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接