45 个版本
使用旧的 Rust 2015
0.0.46 | 2024 年 5 月 26 日 |
---|---|
0.0.45 | 2023 年 11 月 24 日 |
0.0.44 | 2022 年 8 月 23 日 |
0.0.43 | 2022 年 7 月 21 日 |
0.0.1 | 2014 年 12 月 31 日 |
#228 in 图像
27 每月下载量
用于 allegro_examples
89KB
3.5K SLoC
RustAllegro
Allegro 5 的薄型 Rust 封装。
游戏循环示例
extern crate allegro;
extern crate allegro_font;
use allegro::*;
use allegro_font::*;
allegro_main!
{
let core = Core::init().unwrap();
let font_addon = FontAddon::init(&core).unwrap();
let display = Display::new(&core, 800, 600).unwrap();
let timer = Timer::new(&core, 1.0 / 60.0).unwrap();
let font = Font::new_builtin(&font_addon).unwrap();
let queue = EventQueue::new(&core).unwrap();
queue.register_event_source(display.get_event_source());
queue.register_event_source(timer.get_event_source());
let mut redraw = true;
timer.start();
'exit: loop
{
if redraw && queue.is_empty()
{
core.clear_to_color(Color::from_rgb_f(0.0, 0.0, 0.0));
core.draw_text(&font, Color::from_rgb_f(1.0, 1.0, 1.0),
(display.get_width() / 2) as f32, (display.get_height() / 2) as f32,
FontAlign::Centre, "Welcome to RustAllegro!");
core.flip_display();
redraw = false;
}
match queue.wait_for_event()
{
DisplayClose{..} => break 'exit,
TimerTick{..} => redraw = true,
_ => (),
}
}
}
文档
见 docs.rs。请注意,它非常不完整。你可能会在这个时候非常依赖 Allegro 的 文档。
包
包含的包有
封装
- allegro
- allegro_acodec
- allegro_audio
- allegro_dialog
- allegro_font
- allegro_image
- allegro_primitives
- allegro_ttf
绑定
- allegro-sys
- allegro_acodec-sys
- allegro_audio-sys
- allegro_dialog-sys
- allegro_font-sys
- allegro_image-sys
- allegro_primitives-sys
- allegro_ttf-sys
示例
通用使用说明
“allegro-sys
” 包(以及,间接地,其余的包)通过解析 C 头文件来检测要绑定的 Allegro 版本。构建脚本将在一些常见位置查找它,但有时您需要在调用 cargo build
时指定 ALLEGRO_INCLUDE_DIR
环境变量来帮助它。此目录应包含包含所有头文件的 allegro5
目录。构建脚本将定义以下两个元数据条目,依赖于它的 crate 可以使用这些条目来确定使用哪个版本
-
sub_version
- Allegro 的子版本(例如,对于 5.1.10,子版本是 1) -
wip_version
- Allegro 的 wip 版本(例如,对于 5.1.10,wip 版本是 10)。
请注意,Core::init()
将尝试验证绑定是否与您链接的库版本相匹配。
以下是一些可能有用的功能
link_none
- 如果您想链接单体库或有其他需求,则不要尝试链接标准 Allegro 库。link_debug
- 链接到 Allegro 库的调试版本。可以与link_static
结合使用。link_static
- 链接到 Allegro 库的静态版本。请注意,您将不得不自己链接各种依赖库。可以与link_debug
结合使用。
此外,您可以通过设置 ALLEGRO_LINK_DIR
来指定链接目录。
Windows 注意事项
RustAllegro 与官方预编译的二进制文件兼容良好。首先,从 http://liballeg.org 下载官方二进制文件。您需要匹配 Rust 安装程序的 ABI。32 位 GNU ABI 可以加载 32 位 MSVC Allegro 二进制文件,但否则您需要精确匹配平台和 ABI。假设您将二进制文件提取到 C:/allegro
。该目录将包含 include、bin 和 lib 目录。要从 RustAllegro 的 examples
目录编译和运行 RustAllegro 示例,请执行以下操作
- 如果您使用 MSYS
export ALLEGRO_INCLUDE_DIR=C:/allegro/include
export ALLEGRO_LINK_DIR=C:/allegro/lib
cargo build
- 如果您直接使用 cmd
set ALLEGRO_INCLUDE_DIR=C:/allegro/include
set ALLEGRO_LINK_DIR=C:/allegro/lib
cargo build
现在您需要将 Allegro DLL 复制到生成的可执行文件旁边(可能位于 target/debug 目录下)。现在您应该能够运行示例(请确保从 RustAllegro 的 examples
目录运行它们,以便它们可以找到所需的各种数据文件)。
依赖项
~120KB