2

我想尝试amethyst_physics图书馆制作游戏。(Duh)我按照示例进行操作,但不知何故我不工作:

use amethyst::GameDataBuilder;
use amethyst_physics::{PhysicsBundle};
use amethyst_nphysics::NPhysicsBackend;

fn main() -> amethyst::Result<()> {
    amethyst::start_logger(Default::default());

    let game_data = GameDataBuilder::default()
        .with_bundle(
            PhysicsBundle::<f32, NPhysicsBackend>::new()
        )
    ;
    Ok(())
}

错误:

the trait bound `amethyst_physics::PhysicsBundle<'_, '_, f32, amethyst_nphysics::NPhysicsBackend>: amethyst::amethyst_core::SystemBundle<'_, '_>` is not satisfied
the trait `amethyst::amethyst_core::SystemBundle<'_, '_>` is not implemented for `amethyst_physics::PhysicsBundle<'_, '_, f32, amethyst_nphysics::NPhysicsBackend>`

是示例。

我究竟做错了什么?

4

1 回答 1

2

这似乎是一个错误。它使用amethyst0.15.1 版而不是 0.15.3 版成功编译。在补丁更改期间不会出现这样的回归。

amethyst使用amethyst_core0.15.3 版(其中SystemBundle定义)但amethyst_physics使用amethyst_core0.10.1 版。

我已经在紫水晶存储库上提交了一个问题。


将此用作解决方法:

amethyst = { version = ">=0.15.0, <0.15.3", features = ["empty"] } 
于 2020-12-04T17:41:37.253 回答