在我的项目中,我已经完成了所有设置以使用活塞窗口作为后端绘制 GUI。 起初我注意到屏幕上没有任何东西。 我在while let Some(event) = window.next()
循环内的event.update
上成功创建了小部件,尽管我意识到 GUI 本身没有被绘制在window.draw_2d
函数内。
我不完全确定这是否正确,因为我正在查看all_piston_window.rs 示例中的代码,但我还需要在前面提到的 draw 函数中包含一个conrod::backend::piston::draw::primitives()
函数,但无论如何我把conrod::backend
(包括活塞、活塞窗口、winit 和 glium)放在后面,每次编译时都会出错,说“在‘后端’中找不到‘活塞’”。 我已经检查了源代码 - 它在那里没问题,但它似乎没有被编译器接收?
我曾尝试将--features "piston"
到cargo run
但它仍然失败了。 除了这个单一的错误之外,我的依赖项中有这些库,以便让一切正常运行。
piston="^0.31.3"
piston_window="^0.61.0"
conrod="^0.51.1"
find_folder="^0.3.0"
有什么我想念的吗? 如有必要,我可以提供更多源代码,尽管它与我上面链接的示例非常相似。
嘿@TomboFry , --features "piston"
仅在尝试直接运行或编译 conrod 或其示例时才有效。 如果您想在使用 conrod 作为依赖项时激活piston
功能,则[dependencies]
列表下的 conrod 条目应如下所示:
conrod = { version = "^0.51.1", features = "piston" }
希望这可以帮助!
啊哈,是的,这完全有道理! 我注意到在backend/mod.rs
文件中它有#[cfg(feature="piston")]
所以我知道它会去某个地方,但我没有按照你的建议考虑配置文件。
我通过将features = "piston"
转换为数组来使其工作,非常感谢您的帮助。
conrod = { version = "^0.51.1", features = ["piston"] }
最有用的评论
嘿@TomboFry ,
--features "piston"
仅在尝试直接运行或编译 conrod 或其示例时才有效。 如果您想在使用 conrod 作为依赖项时激活piston
功能,则[dependencies]
列表下的 conrod 条目应如下所示:希望这可以帮助!