小编Wil*_*ill的帖子

在 Bevy 中读取鼠标单击的位置

我试图查看按下鼠标的位置,以便我可以选择我的角色。我已经尝试了以下

#[derive(Default)]
struct State { // Set up from example
    mouse_button_event_reader: EventReader<MouseButtonInput>,
    cursor_moved_event_reader: EventReader<CursorMoved>,
}

fn select_character(
    mut state: ResMut<State>,
    mouse_button_input_events: Res<Events<MouseButtonInput>>,
    cursor_moved_events: Res<Events<CursorMoved>>,
) {

    for (cursor_event, mouse_event) in state
        .cursor_moved_event_reader
        .iter(&cursor_moved_events)
        .zip(
            state
                .mouse_button_event_reader
                .iter(&mouse_button_input_events),
        )
    {
        println!("{:?}", cursor_event);
        println!("{:?}", mouse_event);
    }
}
Run Code Online (Sandbox Code Playgroud)

这种工作,但鼠标需要在点击时移动。有没有办法在按下鼠标后获取位置?

编辑:

我认为.find_latest可能会起作用,让它返回最新Some值。

for event in state
        .mouse_button_event_reader
        .iter(&mouse_button_input_events)
    {
        let cursor_event = state
            .cursor_moved_event_reader
            .find_latest(&cursor_moved_events, |x| x.is_Some() // Not sure how to only return values that are Some(x)
        );
        println!("{:?}", …
Run Code Online (Sandbox Code Playgroud)

rust bevy

6
推荐指数
2
解决办法
1507
查看次数

如何为 Rocket.rs 设置 CORS 或 OPTIONS

我有一个运行 Rocket.rs 的后端,我的 Flutter Web 应用程序向它发送请求,但它无法通过 OPTIONS 响应。

我曾尝试将 CORS (rocket_cors) 添加到后端并有一个选项响应,但它仍然发回:

Error: XMLHttpRequest error.
    dart:sdk_internal 124039:30                           get current
packages/http/src/browser_client.dart.lib.js 214:124  <fn>
Run Code Online (Sandbox Code Playgroud)

我在我的火箭项目中添加了以下内容:

Error: XMLHttpRequest error.
    dart:sdk_internal 124039:30                           get current
packages/http/src/browser_client.dart.lib.js 214:124  <fn>
Run Code Online (Sandbox Code Playgroud)

我的颤振应用程序正在运行此请求:

Future<String> fetchData() async {
  final data2 = await http.get("http://my-web-site.com").then((response) { // doesn't get past here
    return response.body; 
  });
  return data2;
}
Run Code Online (Sandbox Code Playgroud)

问题:这是响应 OPTION 请求的正确方法,如果不是,我如何在 Rocket.rs 中实现它?

http rust dart rust-rocket flutter-web

3
推荐指数
3
解决办法
2183
查看次数

有什么作用??生锈吗?

这里是它的一个例子动作

let msg = stream.next().await.context("expected a message")??;
Run Code Online (Sandbox Code Playgroud)

只是?做了两次吗?如果是这样,为什么在这种情况下需要这样做?

operator-keyword rust

2
推荐指数
1
解决办法
116
查看次数

如何获取与 Rust HashMap 的最大值关联的键?

例如,给定数据:

2 : 4  
1 : 3  
5 : 2  
Run Code Online (Sandbox Code Playgroud)

该函数将返回 2,因为它的值 (4) 是最高的。

我在做:

let mut max_val = 0;
let mut max_key = "";
for (k, v) in a_hash_map.iter() {
    if *v > max_val {
        max_key = k;
        max_val = *v;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有更好、更快或更简单的方法来做到这一点?

rust

1
推荐指数
2
解决办法
2054
查看次数

标签 统计

rust ×4

bevy ×1

dart ×1

flutter-web ×1

http ×1

operator-keyword ×1

rust-rocket ×1