只要安裝一項工具
已內建 CPython 與 raylib 的瀏覽器執行環境。不必自行安裝 Emscripten 或編譯 raylib。
Python raylib → 網頁
Rayport 將 Python raylib 遊戲打包為可直接在瀏覽器執行的靜態檔案。不必另外安裝 raylib,也不用設定編譯器。
from raylib import * InitWindow(800, 600, b"Hello") while not WindowShouldClose(): BeginDrawing() ClearBackground(RAYWHITE) DrawText(b"Hello, web!", 260, 280, 32, RED) EndDrawing()
為什麼使用 Rayport
原始碼仍然是 Python。Rayport 準備瀏覽器執行環境、找出專案需要的檔案,並產生可發布到任何靜態網站服務的資料夾。
已內建 CPython 與 raylib 的瀏覽器執行環境。不必自行安裝 Emscripten 或編譯 raylib。
開發伺服器會在專案檔案變更時重新建置,並立即於本機提供最新結果。
建置結果是一般的靜態網頁內容。不需要 Python 伺服器或應用程式後端。
Rayport 會追蹤匯入、加入專案資源與純 Python 相依套件,並說明哪些檔案會被打包。
開始使用
Rayport 以 main.py 為進入點。影像、聲音、模組及其他檔案都可以留在原本的專案中。
安裝
使用 uv 將 Rayport 安裝為獨立的命令列工具。
uv tool install rayport 開發
從遊戲資料夾啟動開發伺服器。
rayport dev . 建置
將 dist/ 的內容上傳到任何靜態網站服務。
rayport build . --output dist ├── main.py
├── rayport.toml
├── game/
│ ├── player.py
│ └── level.py
└── assets/
├── sprites.png
└── music.ogg選用設定
加入 rayport.toml,即可設定頁面標題、背景、呈現模式與打包規則。
[web] title = "My Game" presentation = "fit" background = "#111114"查看設定選項 →
遊戲範例
Breakout 使用 Python 與 raylib 製作,再由 Rayport 打包為靜態網頁檔案。
目前相容性