Amethyst Rust:'当 运行 pong 教程时,无法插入同名的多个系统 ("parent_hierarchy_system")

Amethyst Rust: 'Cannot insert multiple systems with the same name ("parent_hierarchy_system") when running pong tutorial

我正在学习 Rust 的 Amethyst 框架。现在我学习乒乓教程 here。 在第 3 步(移动球拍)教程中教授如何设置 System 移动球拍。 我遵循了所有步骤,但是当我 cargo run 我的应用程序出现错误时:

thread 'main' panicked at 'Cannot insert multiple systems with the same name ("parent_hierarchy_system")', /home/path_to_cargo/shred-0.9.4/src/dispatch/builder.rs:172:17

我只是尝试从教程的 GitHub 存储库中复制,但得到了相同的结果。

我的Cargo.toml长相:

[package]
name = "pong"
version = "0.1.0"
authors = []
edition = "2018"

[dependencies.amethyst]
version = "0.13"
features = ["vulkan"]

我 运行 Ubuntu 19.10 的项目。 铁锈版本 1.37.

我的猜测是 input_system 在 运行ning 时以某种方式添加了两次。我已经搜索了同一问题的教程存储库和网络。但似乎我是唯一一个面对它的人。也许解决方案很简单,但我花了我的星期六试图修复它。

let game_data = GameDataBuilder::default()
    .with_bundle(TransformBundle::new())?
    .with_bundle(input_bundle)?
    .with(systems::PaddleSystem, "paddle_system", &["input_system"]) // Add this line
    .with_bundle(
        RenderingBundle::<DefaultBackend>::new()
            .with_plugin(
                RenderToWindow::from_config_path(display_config_path)
                    .with_clear([0.0, 0.0, 0.0, 1.0]),
            )
            // RenderFlat2D plugin is used to render entities with a `SpriteRender` component.
            .with_plugin(RenderFlat2D::default()),
        )?
    .with_bundle(TransformBundle::new())?;

我的GameDataBuilder初始化代码。

您已添加 TransformBundle 两次。

删除一个将删除此错误。