【发布时间】:2022-08-06 18:52:13
【问题描述】:
我使用 pygame 制作了一个小型太空入侵者游戏,我想知道是否可以使用 pyscript 在浏览器上玩它。这甚至可能吗?我必须重写所有内容吗?
标签: python python-3.x pygame pyscript
我使用 pygame 制作了一个小型太空入侵者游戏,我想知道是否可以使用 pyscript 在浏览器上玩它。这甚至可能吗?我必须重写所有内容吗?
标签: python python-3.x pygame pyscript
不,PyScript 目前不支持 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>
这基本上只是一个“试试看会发生什么”的脚本,如果不支持某个包,它将在控制台中引发错误。您将看到的错误是
ValueError:找不到“pygame”的纯 Python 3 轮子。你可以 使用
micropip.install(..., keep_going=True)获取所有列表 缺少轮子的包裹。
【讨论】:
是的,这是可能的,但尚未提供,因为:
pyscript 使用 pyodide,pyodide 没有针对游戏进行优化,而是针对科学堆栈和笔记本演示。
今天,我建议使用来自https://pygame-web.github.io 的pygbag https://pypi.org/project/pygbag/。它使用适用于来自 Panda3D webgl 端口的 pygame 的相同原理,使用现代浏览器的 Web Assembly。
(如果你真的想支持 pyscript 标签,你可能会找到一种方法)。
【讨论】: