我正在制作一个简单的JavaScript游戏,需要能够检查某些键是否被按下.我试过绑定到onkeydown
事件,但我遇到的问题是双重的:首先,它不会让我检查是否在任何时候按下多个键.第二,它在按下键之后暂停,然后开始发送垃圾邮件.
在我的代码中,我可以有一个事件,或者一个检查每毫秒以查看键是否被按下的函数.看到这是一场比赛,我真的没有任何问题.提前致谢.
当使用组件的变异扩展基本示例时,我尝试添加&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() { …
Run Code Online (Sandbox Code Playgroud)