2 个版本
0.3.1 | 2022 年 2 月 6 日 |
---|---|
0.3.0 | 2022 年 2 月 6 日 |
在 图形 API 中排名第 728
1.5MB
1.5K SLoC
Deno SDL2
跨平台绑定到 SDL2。祝您玩得开心!
特性
- 对视频、图形、字体和混音子系统的绑定。 (使用 rodio 而不是 SDL2_Mixer)
- 基于 Deno 的 FFI API 构建。旧版本使用 TCP 流。
示例
import { Canvas } from "https://deno.land/x/sdl2/src/canvas.ts";
const canvas = new Canvas({
title: "Hello, Deno!",
height: 800,
width: 600,
centered: true,
fullscreen: false,
hidden: false,
resizable: true,
minimized: false,
maximized: false,
flags: null,
});
canvas.setDrawColor(0, 64, 255, 255);
canvas.clear();
canvas.present();
for await (const event of canvas) {
switch (event.type) {
case "draw":
// Your game logic
// ...
break;
case "mouse_motion":
// Mouse stuff
break;
case "key_down":
// Keyboard stuff
break;
// ...
default:
break;
}
}
从源代码构建
您需要
deno_bindgen
CLI 从main
分支- Rust 夜间工具链 + Cargo (
1.57.0-nightly
) cargo-vcpkg
工具pkg-config
(在 *nix) =>brew install pkg-config
deno install -Afq -n deno_bindgen https://deno.land/x/deno_bindgen/cli.ts
cargo install cargo-vcpkg
# build vcpkg dependencies
cargo vcpkg -v build
使用以下方式构建
deno_bindgen -- --features "use_vcpkg"
使用 deno_sdl2
的项目
-
...在此处插入您的项目
许可证
MIT
依赖项
~23MB
~472K SLoC