gpt4 book ai didi

rust - 在Bevy Engine中,如何在for-each系统中使用&mut查询?

转载 作者:行者123 更新时间:2023-12-03 11:27:15 24 4
gpt4 key购买 nike

在扩展组件变异的基本示例时,我尝试将&mut添加到系统中的组件参数。但是,这触发了no method "system" found错误。
我的代码在这里:

use bevy::prelude::*;

fn setup(
mut commands: Commands,
asset_server: Res<AssetServer>,
mut materials: ResMut<Assets<ColorMaterial>>,
) {
let texture_handle = asset_server.load("icon.png").unwrap();
commands
.spawn(Camera2dComponents::default())
.spawn(SpriteComponents {
material: materials.add(texture_handle.into()),
rotation: Rotation::from_rotation_z(0.0),
..Default::default()
})
.with(Player(0.0))
.with(());
}

struct Player(f32);

fn control_system(keyboard_input: Res<Input<KeyCode>>, player: &mut Player) { // <- mut added here
let mut r = player.0;
println!("hello");

/*
if keyboard_input.pressed(KeyCode::Left) {
player.0 += 0.1;
}

if keyboard_input.pressed(KeyCode::Right) {
player.0 -= 0.1;
}
*/
}

fn main() {
App::build()
.add_default_plugins()
.add_startup_system(setup.system())
.add_system(control_system.system())
.run();
}
看着 Into foreach system,我承认我不完全了解这是如何或为什么不起作用,所以也许我错过了一些基本的知识!
我犯了一个简单的错误吗?人们正在做一些事情来解决这个问题吗?
谢谢!

最佳答案

fn control_system(keyboard_input: Res<Input<KeyCode>>, mut player: Mut<Player>) {
let mut r = player.0;
println!("hello");
}
mut entity: Mut<Entity>似乎是格式。
Mut借了一个实体。在文档 here中。

关于rust - 在Bevy Engine中,如何在for-each系统中使用&mut查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63551984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com