/
poisson.rs
42 lines (38 loc) · 1.09 KB
/
poisson.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
use bevy::{prelude::*, window::PrimaryWindow};
use bevy_scroller::{
PoissonSpriteGenerator, Scroller, ScrollerBundle, ScrollerPlugin, ScrollerSize,
};
fn main() {
let mut app = App::new();
app
.add_plugins((DefaultPlugins, ScrollerPlugin))
.add_systems(Startup, start);
#[cfg(feature = "dev")]
{
use bevy_editor_pls::EditorPlugin;
app.add_plugins(EditorPlugin::default());
}
app.run();
}
fn start(mut commands: Commands, primary_window: Query<&Window, With<PrimaryWindow>>) {
let window = primary_window.get_single().expect("no primary window");
commands.spawn(Camera2dBundle::default());
commands.spawn((
ScrollerSize {
size: Vec2::new(window.width(), window.height()),
},
ScrollerBundle {
scroller: Scroller {
speed: 5.,
..Default::default()
},
generator: PoissonSpriteGenerator {
radius: 128. * 2.,
sprites: (1..8).map(|i| format!("gems/{i}.png")).collect(),
item_size: Vec2::new(window.width(), window.height()),
sub_item_size: Vec2::splat(128.),
},
..default()
},
));
}