Compare commits
No commits in common. "26cf4c745314674fb3886409a34a358faf3dd89d" and "00e5bab2a56c5d47f34140aa9ea4561a559d3a0c" have entirely different histories.
26cf4c7453
...
00e5bab2a5
44
src/main.rs
44
src/main.rs
|
@ -60,19 +60,9 @@ fn main() {
|
|||
.insert_resource(WinitSettings::desktop_app())
|
||||
.add_plugins(DefaultPlugins)
|
||||
.add_systems(Startup, setup)
|
||||
.add_systems(Update, rotate_board)
|
||||
.run();
|
||||
}
|
||||
|
||||
fn rotate_board(mut board: Query<&mut Transform, With<Board>>) {
|
||||
let mut board = board.get_single_mut().unwrap();
|
||||
|
||||
board.rotate_local_z(0.1);
|
||||
}
|
||||
|
||||
#[derive(Component)]
|
||||
struct Board;
|
||||
|
||||
fn setup(
|
||||
mut commands: Commands,
|
||||
mut meshes: ResMut<Assets<Mesh>>,
|
||||
|
@ -83,34 +73,24 @@ fn setup(
|
|||
const TILES: i32 = 9;
|
||||
const TILE_SIZE: f32 = 50.;
|
||||
const GAP_SIZE: f32 = 10.;
|
||||
const OFFSET: f32 = (TILE_SIZE + GAP_SIZE) / 2.;
|
||||
const TOTAL_WIDTH: f32 = (TILE_SIZE + GAP_SIZE) * TILES as f32;
|
||||
const TILE_SPACE: f32 = TOTAL_WIDTH / TILES as f32;
|
||||
const OFFSET: f32 = TILE_SPACE / 2.;
|
||||
const CENTER: f32 = TOTAL_WIDTH / 2.;
|
||||
|
||||
let tile_mesh = Mesh2dHandle(meshes.add(Rectangle::new(TILE_SIZE, TILE_SIZE)));
|
||||
let tile_color = Color::from(tailwind::NEUTRAL_700);
|
||||
|
||||
commands
|
||||
.spawn((
|
||||
SpatialBundle {
|
||||
transform: Transform::from_xyz(0., 0., 0.),
|
||||
for i in 0..TILES {
|
||||
for j in 0..TILES {
|
||||
let tile_x = i as f32 * TILE_SPACE - CENTER + OFFSET;
|
||||
let tile_y = j as f32 * TILE_SPACE - CENTER + OFFSET;
|
||||
commands.spawn(MaterialMesh2dBundle {
|
||||
mesh: tile_mesh.clone(),
|
||||
material: materials.add(tile_color),
|
||||
transform: Transform::from_xyz(tile_x, tile_y, 0.),
|
||||
..default()
|
||||
},
|
||||
Board,
|
||||
))
|
||||
.with_children(|parent| {
|
||||
for i in 0..TILES {
|
||||
for j in 0..TILES {
|
||||
let tile_x = i as f32 * TILE_SPACE - CENTER + OFFSET;
|
||||
let tile_y = j as f32 * TILE_SPACE - CENTER + OFFSET;
|
||||
parent.spawn(MaterialMesh2dBundle {
|
||||
mesh: tile_mesh.clone(),
|
||||
material: materials.add(tile_color),
|
||||
transform: Transform::from_xyz(tile_x, tile_y, 0.),
|
||||
..default()
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue