16得票2回答
如何在Bevy中手动创建包含顶点的网格?

我需要为bevy创建一个网格,该网格应包含以下顶点: let mut vertices : Vec<[f32; 3]> = Vec::new(); vertices.push([0.0, 0.0, 0.0]); vertices.push([1.0, 2.0, ...

11得票2回答
在Bevy中读取鼠标点击的位置

我正在尝试查看鼠标的按下位置,以便可以选择我的角色。 我已经尝试了以下方法#[derive(Default)] struct State { // Set up from example mouse_button_event_reader: EventReader<MouseBu...

11得票3回答
如何在Bevy中创建窗口后获取和设置窗口信息?

我希望能够使用Bevy来读取和设置窗口设置。我尝试使用基本系统进行操作: fn test_system(mut win_desc: ResMut<WindowDescriptor>) { win_desc.title = "test".to_string(); p...

8得票1回答
Bevy如何基于参数类型对其系统进行"作用域"?

Bevy 是一个新的 Rust 游戏引擎和 ECS,它有一个特性,可以根据参数类型来 "范围化" 它的系统。来自它的文档: 我们传递给 "系统函数" 的参数定义了系统运行的实体。在这种情况下,greet_people 将在所有具有 Person 和 Name 组件的实体上运行。 它看起...

8得票2回答
如何在不消耗事件的情况下读取Bevy事件?

我正在尝试在我的Bevy游戏中使用事件来信号化角色跳跃。我希望处理玩家输入的系统发送JumpedEvent,然后其他系统可以接收该事件以执行相应的操作(设置正确的玩家动画、速度、声音等),但是第一个读取事件的系统会消耗它。 Bevy是否提供一种无需消耗事件就能读取事件的方法? 以下是我的当...

7得票2回答
如何在使用Camera2dComponents的Bevy中将屏幕空间转换为世界空间坐标?

使用Res<Events<CursorMoved>>,我可以获取鼠标在屏幕空间坐标中的位置变化(原点在左下角),例如: #[derive(Default)] struct State { cursor_moved_reader: EventReader<...

7得票1回答
如何在Bevy中操作渲染图

我希望能够获取之前渲染的帧,并在当前帧中将其用作采样器。Bevy存储库中有一组很好的示例代码,可以向我展示如何将自定义着色器应用为网格材料。但是我想要做更多类似于后处理效果的事情,其中要么在当前帧中使用之前的帧,要么将之前的帧复制到纹理中以在当前帧中使用。

7得票1回答
Rust/Bevy中的Dot Zero调用定时器?

在 Bevy 书中使用了以下代码: struct GreetTimer(Timer); fn greet_people( time: Res<Time>, mut timer: ResMut<GreetTimer>, query: Query<&amp...

7得票1回答
Bevy的默认字体不可用吗?

试图使用Bevy将“Hello, world!”打印到屏幕上时,文本不会显示,直到我导入了第三方字体文件并将其作为字体值加载到Text组件的TextStyle值中。在使用该字体之前,我没有明确指定字体;我只是使用了Default::default()的值,即WeakHandle<Font...

7得票2回答
如何在 Bevy 系统中执行嵌套查询?

我正在使用Bevy制作一个小型boids玩具,每个boid的速度/加速度取决于周围boid的位置和速度值。这意味着对于每个boid,我希望运行一些依赖于其他boid子集的逻辑。 这似乎基本上可以使用嵌套的for循环实现: for boid in boids { for other_...