我怎样才能在用 commands.spawn_bundle() 产生的 bevy 0.5.0 中消除一个实体

How can I despawn an entity in bevy 0.5.0 that was spawned with commands.spawn_bundle()

这是一个很简单的问题。 我已经重写了我的代码以使用新版本的 bevy 附带的语法和其他更改。

编译时似乎一切正常,除了实体消失。

我在上述实体中生成如下:

commands.spawn_bundle(PbrBundle {
            mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
            material: builder_texture.clone(),
            transform: Transform::from_matrix(Mat4::from_scale_rotation_translation(
                Vec3::splat(0.75),
                Quat::from_rotation_x(0.0),
                Vec3::new(0.0, 0.0, 0.0),
            )),
                ..Default::default()
        })
        .insert(controll::BuilderIndicator);

但我无法像这样取消它:

fn despawn(
    mut entity: Query<(Entity, controll::BuilderIndicator), With<controll::BuilderIndicator>>,
    mut commands: Commands,
) {
    for (entity, example) in entity.iter_mut() {
        commands.despawn(entity);
    }
}

它returns:

error[E0599]: no method named `despawn` found for struct `bevy::prelude::Commands<'_>` in the current scope
   --> src/controll.rs:120:26
    |
120 |                 commands.despawn(entity);
    |                          ^^^^^^^ help: there is an associated function with a similar name: `spawn`

error: aborting due to previous error

我需要做什么才能让它发挥作用?

似乎某些方法已移至 EntityCommands。 所以你必须这样做: commands.entity(entity).despawn();

我还没有测试。