我在浏览 pygbag 的文档时,找不到 python 脚本实际上是如何从浏览器执行的。
我做了一个测试项目来看看 pygbag 创建的文件是什么样的,但我无法真正弄清楚 index.html 到底扮演什么角色。在我看来,我在其中找不到任何脚本,所以我认为它可以直接解释,但我不太确定。
html文件中有一个python脚本,我发现一行似乎运行主程序:
await shell.runpy(main, callback=ui_callback)
,但我不知道它是否只是执行文件夹中的python脚本,或者脚本是否在某个地方编译在此文件中。
谁能给我解释一下吗?
我认为如果他们清理项目或添加更多文档,以便 wasm 构建过程更容易理解和扩展,那就太好了。
我还查看了index.html页面并尝试做与您所询问的类似的事情。据我了解,有一个由 python 代码构建的 Android Web 程序集文件,然后它像 iFrame 或 canvas 一样在 index.html 文件中运行(抱歉,我不是前端专家)。我相信 pyscript 的东西是用于与 python WASM 文件进行通信的。我不相信 pygame 本身正在被解释,因为以这种方式运行可能会慢得多并且效率太低。我在浏览器中运行我制作的测试游戏时没有遇到任何性能问题。
我个人非常欣赏 pygbag,我希望看到将 pygame 嵌入到浏览器中变得更加容易/更好。我觉得更多的文档和贡献会有很大帮助。不过,我也有点担心这个包的安全性。如果它在软件包评级网站上的信任分数超过 95,我会感觉更舒服地贡献和使用它!
希望这可以帮助你!
据我所知,pygbag 输出的 build.apk 文件是一个 .zip 文件,里面有 python 代码