是否可以使用 pyscript 在浏览器上运行 pygame 制作的游戏?

Thi*_*ien 3 python pygame python-3.x pyscript

我使用 pygame 制作了一个小型太空入侵者游戏,我想知道是否可以使用 pyscript 在浏览器上玩它。这可能吗?我必须重写所有内容吗?

Bil*_*ard 6

不,PyScript 目前不支持 Pygame。我不确定找出支持哪些软件包的最佳方法是什么但我已经设法将以下内容拼凑在一起:

  1. PyScript 使用Pyodide加载包,因此只有 Pyodide 支持的包才能在 PyScript 中加载。这意味着使用 Pyodide 构建的包或带有 PyPI 或其他 URL 上可用的轮子的纯 Python 包。
  2. Pyodide 尚不支持 Pygame

您可以使用以下测试脚本来查看某个包是否受支持:

<html>
    <head>
      <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
      <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
      <py-env>
        - pygame
      </py-env>
    </head>

  <body>
    <h1>PyScript import test script</h1>
    <py-script>
import pygame

    </py-script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这基本上只是一个“尝试一下,看看会发生什么”脚本,如果不支持某个包,它将在控制台中抛出错误。您将看到的错误是

ValueError:找不到“pygame”的纯 Python 3 轮子。您可以使用micropip.install(..., keep_going=True)来获取所有缺少轮子的包裹的列表。

  • pyodide 支持的软件包列表如下:https://pyodide.org/en/stable/usage/packages-in-pyodide.html (4认同)