有没有办法获取可执行二进制文件(.exe)并以某种方式"编译".wasm



我正在pygame中制作一款2d游戏,我希望它可以在网络上使用。在我看来,挑战自己的一种有趣方式是使用网页组装将游戏放到网页上。所以我想知道是否有任何方法可以使用可执行二进制文件(.exe)并以某种方式"编译"。.wasm(如果现在还能说的话)到

在浏览器中通过WebAssembly (WASM)运行。exe将非常缓慢和低效,但仍然可以使用WASM PC模拟器(例如v86) +操作系统(例如ReactOS)。

但是如果你能获得游戏源代码的话你可以做的是使用支持WebAssembly目标的CPython 3.11(在Emscripten的帮助下,C/c++编译器瞄准WASM)。

添加PyGame的最新开发版本和对游戏主循环源代码的微小更改。

你现在可以直接运行游戏,如果你用emscripten File Packager打包源代码和资源,而不是一个。exe,你将有一个。wasm (cpython) +一个。data(资产+代码)和一些javascript glue来加载它们。

请注意,目前还没有直接的工具可以立即做到这一点,但在CPython 3.11发布后,情况很可能会迅速发展。

就我个人而言,我没有太多结合。py和。wasm文件的经验,但我确实知道一些关于运行Pygame的东西:

  1. 首先,您可以在这里运行基本的Pygame文件。我在网上搜索一个独立的Pygame运行引擎,这是我唯一能找到的。
  2. 第二,你可以使用PyInstaller将Pygame文件本身转换为.exe(它很好地打包了它,但是不能签名,所以一些计算机可能会认为它是病毒)。我不知道如何在网络上运行这个,但是如果你能找到一个可以用窗口运行它的网络平台,那么你可以尝试用Javascript运行那个。exe并将。wasm连接到那个。
  3. 第三,我不确定是否有一种方法来运行。exe文件与一个单独的窗口在web程序集,但我不太熟悉wasm.

我希望这对你有帮助!