Skip to content

Commit abe31c6

Browse files
committed
Adjust tilemap example
1 parent bd4b887 commit abe31c6

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

examples/2d/tilemap_chunk.rs

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
//! Shows a tilemap chunk rendered with a single draw call.
22
3+
use core::num::NonZero;
4+
35
use bevy::{
46
prelude::*,
57
sprite::{TileData, TilemapChunk, TilemapChunkTileData},
68
};
9+
use bevy_image::ImageLoaderSettings;
710
use rand::{Rng, SeedableRng};
811
use rand_chacha::ChaCha8Rng;
912

1013
fn main() {
1114
App::new()
1215
.add_plugins(DefaultPlugins.set(ImagePlugin::default_nearest()))
1316
.add_systems(Startup, setup)
14-
.add_systems(Update, (update_tileset_image, update_tilemap))
17+
.add_systems(Update, update_tilemap)
1518
.run();
1619
}
1720

@@ -39,12 +42,18 @@ fn setup(mut commands: Commands, assets: Res<AssetServer>) {
3942
})
4043
.collect();
4144

45+
let layers = 4;
4246
commands.spawn((
4347
TilemapChunk {
4448
chunk_size,
4549
tile_display_size,
46-
tileset: assets.load("textures/array_texture.png"),
47-
..default()
50+
tileset: assets.load_with_settings(
51+
"textures/array_texture.png",
52+
move |settings: &mut ImageLoaderSettings| {
53+
settings.layers = NonZero::new(layers);
54+
},
55+
),
56+
..Default::default()
4857
},
4958
TilemapChunkTileData(tile_data),
5059
UpdateTimer(Timer::from_seconds(0.1, TimerMode::Repeating)),
@@ -55,20 +64,6 @@ fn setup(mut commands: Commands, assets: Res<AssetServer>) {
5564
commands.insert_resource(SeededRng(rng));
5665
}
5766

58-
fn update_tileset_image(
59-
chunk_query: Single<&TilemapChunk>,
60-
mut events: EventReader<AssetEvent<Image>>,
61-
mut images: ResMut<Assets<Image>>,
62-
) {
63-
let chunk = *chunk_query;
64-
for event in events.read() {
65-
if event.is_loaded_with_dependencies(chunk.tileset.id()) {
66-
let image = images.get_mut(&chunk.tileset).unwrap();
67-
image.reinterpret_stacked_2d_as_array(4);
68-
}
69-
}
70-
}
71-
7267
fn update_tilemap(
7368
time: Res<Time>,
7469
mut query: Query<(&mut TilemapChunkTileData, &mut UpdateTimer)>,

0 commit comments

Comments
 (0)