#game #live #reload #host #live-reloading #programming #update

live-reload

一个帮助进行实时重新加载游戏开发的库

2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2017年6月27日
0.1.0 2017年6月25日

20#reload

Zlib 许可证

23KB
210

实时重新加载

License Version number Documentation Travis CI

本库受到 Chris Wellons 的文章 "Interactive Programming in C" 和 Handmade Hero 的视频 "Loading Game Code Dynamically" 的启发。

基本思路是您的宿主程序是一个动态库的包装器,该库执行游戏中所有有趣的工作。这意味着您可以在游戏运行时简单地重新加载库,并使游戏实时更新。然而,作为后果,您不能在库中保留任何全局状态,所有内容都必须由宿主所有,以避免与库一起卸载。

入门指南

将此添加到您的 Cargo.toml

[lib]
name = "<your library name>"
crate-type = ["cdylib"]

[dependencies]
live-reload = "0.2"

要进行实时重新加载,您需要构建库和二进制文件。在宿主二进制文件中,您希望使用 live-reload

extern crate live_reload;

在库中,您需要使用宏来声明实时重新加载 API,因此您需要

#[macro_use] extern crate live_reload;

有关如何使用库创建库和宿主程序的说明,请参阅 文档

依赖项

~0.5–8MB
~54K SLoC